2013-10-29 11 views
11

Sono nuovo di wpf. Voglio usare una griglia di dati modificabile, aggiungere, modificare dati. È possibile con wpf? Qualcuno può dare dei collegamenti all'esempio?Come fare la griglia di dati modificabile in wpf usando mvvm?

Grazie SN

+0

Perché no? Datagrid è fatto apposta per questo scopo. Ecco un buon collegamento per iniziare: http://wpftutorial.net/DataGrid.html – l46kok

+0

http://brentedwards.net/2012/03/11/wpf-datagridrow-double-click-with-mvvm/ –

risposta

2

Avere un Xaml come di seguito

<Window x:Class="DatGrid.MainWindow" 
    xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 
    xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 
    Title="MainWindow" Height="350" Width="525" 
    xmlns:local="clr-namespace:DatGrid"> 
<Window.DataContext> 
    <local:ViewModel/> 
</Window.DataContext> 
<StackPanel/> 
    <DataGrid ItemsSource="{Binding Path=Values}"></DataGrid> 
</StackPanel> 
</Window> 

Nel ViewModel è molto semplice qualche cosa come di seguito

class ViewModel 
{ 
    public ObservableCollection<Example> Values 
    { 
     get; 
     set; 
    } 
} 
public class Example 
{ 
    public string A 
    { 
     get; 
     set; 
    } 
    public string B 
    { 
     get; 
     set; 
    } 
} 

Nella vista si può sempre vedere una riga vuota è sufficiente fare clic e digitare qualcosa e premere Invio si otterrà aggiornato alla ViewModel

+0

Aggiornamento le proprietà boundmodel associate sono solo minuscole. un po 'di ciò che è necessario per la modifica. Per esempio. che dire dei comandi per mantenere i dati? – ProfK

15

DataGrid ha tutte le funzionalità integrate. È possibile impostare le proprietà CanUserAddRows su true per consentire all'utente di aggiungere righe.

DataGrid è modificabile per impostazione predefinita, in cui ogni colonna ha un controllo di modifica che consente di modificare il suo valore. Di default il DataGrid genera automaticamente le colonne per ogni proprietà nel vostro Modello, in modo che non hanno nemmeno bisogno di definirlo è colonne.

Ecco alcuni buoni collegamenti con esempi dettagliati si può guardare in:

http://wpftutorial.net/DataGrid.html

http://www.codeproject.com/Articles/30905/WPF-DataGrid-Practical-Examples

http://www.c-sharpcorner.com/UploadFile/mahesh/datagrid-in-wpf/

Buona fortuna

+1

Ho appena trovato che il tuo collegamento 'ItemSource' a un 'IEnumerable' farà sì che i dati non possano essere modificati, io cambio' IEnumerable' in 'List', quindi può essere modificato noramally –