C# datagrid mengedit sel MVVM

public DataView VariationGrid
    {
        get
        {
            if (_vargrid != null)
            {
                return _vargrid;
            }
            else
            {
                DataTable data = new DataTable();


                #region Columns
                foreach (var param in SelQuestion.QuestionParameters)
                {
                    DataColumn datac = new DataColumn(param.Name);
                    data.Columns.Add(datac);
                }
                #endregion

                #region Rows

                foreach (Variation variation in SelQuestion.Variations)
                {
                    DataRow datarow = data.NewRow();
                    foreach (var parameter in variation.QuestionParameters)
                    {

                        datarow[parameter.Key.Name] = parameter.Value;

                    }
                    data.Rows.Add(datarow);

                }
                #endregion
                return data.DefaultView;
            }

        }
        set
        {
            _vargrid = value;
            RaisePropertyChanged("VariationGrid");
        }



    }

Beginilah cara saya membuat ItemsSource dari DataGrid... Jadi seperti yang Anda lihat, setiap baris adalah Variasi yang berbeda dan setiap kolom adalah QuestionParameters.

Inilah cara saya Mengikat ini ke DataGrid saya:

<DataGrid SelectedIndex="{Binding Path=SelectedRow}" ItemsSource="{Binding Path=VariationGrid}"  AutoGenerateColumns="True" Height="153" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dataGrid3" VerticalAlignment="Top" Width="301" >

Sekarang pertanyaan saya:

Saat saya mengedit sel, sel perlu mengubah nilai parameter pertanyaan dari variasi yang telah saya pilih. Bagaimana saya melakukan ini, karena sekarang saya punya ide...


person Stef    schedule 31.05.2011    source sumber


Jawaban (1)


Anda mungkin lebih baik membuat grafik objek untuk mengikat kisi data Anda dan kemudian membuat grafik objek tersebut memunculkan peristiwa yang berubah (melalui INotifyPropertyChanged) yang dapat Anda perhatikan dalam model tampilan Anda.

person JasonRShaver    schedule 31.05.2011
comment
tetapi apakah tidak ada kemungkinan untuk mengetahui baris mana dan kolom mana yang diubah dan apa nilainya sekarang? - person Stef; 01.06.2011