C # datagrid แก้ไขเซลล์ 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");
        }



    }

นี่คือวิธีที่ฉันสร้าง ItemsSource ของ DataGrid... ดังนั้นอย่างที่คุณเห็นทุกแถวมีความแตกต่างกันและทุกคอลัมน์เป็น QuestionParameters

นี่คือวิธีที่ฉันผูกสิ่งนี้กับ DataGrid ของฉัน:

<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" >

ตอนนี้เป็นคำถามของฉัน:

เมื่อฉันแก้ไขเซลล์ เซลล์จะต้องเปลี่ยนค่าของพารามิเตอร์คำถามของรูปแบบที่ฉันเลือก จะต้องทำอย่างไร เพราะตอนนี้มีความคิดแล้วว่า...


person Stef    schedule 31.05.2011    source แหล่งที่มา


คำตอบ (1)


คุณอาจจะดีกว่าถ้าสร้างกราฟวัตถุเพื่อผูกตารางข้อมูลของคุณแล้วให้กราฟวัตถุนั้นเปลี่ยนเหตุการณ์ (ผ่าน INotifyPropertyChanged) ที่คุณสามารถใส่ใจในโมเดลมุมมองของคุณ

person JasonRShaver    schedule 31.05.2011
comment
แต่ไม่มีทางที่จะรู้ได้เลยว่าแถวไหน คอลัมน์ไหนถูกเปลี่ยน และตอนนี้มีค่าเท่าไหร่? - person Stef; 01.06.2011