簡體   English   中英

C# 數據網格編輯單元 MVVM

[英]C# datagrid edit cells 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");
        }



    }

這就是我制作 DataGrid 的 ItemsSource 的方式......所以你可以看到每一行都是不同的變體,每一列都是 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" >

現在是我的問題:

當我編輯一個單元格時,它需要更改我選擇的變體的問題參數的值。 我該怎么做,因為我現在有想法......

您最好創建一個 object 圖形來將您的數據網格綁定到,然后讓該 object 圖形冒泡更改事件(通過 INotifyPropertyChanged),您可以在視圖 Z20F35E630DAF44DBFA4C3F68F593 中注意這些事件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM