C#数据网格编辑单元格MVVM
本文关键字:单元格 MVVM 编辑 网格 数据 数据网 | 更新日期: 2023-09-27 17:58:08
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" >
现在是我的问题:
当我编辑一个单元格时,它需要更改我选择的变体的问题参数的值。我该怎么做,因为我现在有了。。。
您最好创建一个对象图来绑定您的数据网格,然后让该对象图弹出您可以在视图模型中关注的更改事件(通过INotifyPropertyChanged(。