我意识到当DataGridView中的值更改(DataTable被绑定到DataGridView)时,不会引用Property get / set
我的代码就像这样
private DataTable _dt;
public DataTable Dt
{
get
{
return _dt;
}
set
{
_dt = value;
}
}
public Form1()
{
InitializeComponent();
Dt = new DataTable();
Dt.Columns.Add("Age");
Dt.Columns.Add("Name");
Dt.Rows.Add(19, "kim");
Dt.Rows.Add(25, "Lee");
dataGridView1.DataSource = Dt;
}
正如我所理解的那样,绑定意味着如果UI控件值发生变化,原始值也会发生变化。 所以我期望在更改DataGridView上的值时引用DataTable的Set属性。但没有。
请有人解释原因。
答案 0 :(得分:0)
当您通常使用WPF时,您所描述的MVVM是正确的,但在WinForms中也很常见。您正在为整个数据网格设置数据源。当您更改网格内的值时,这不会触发设置Dt被调用。如果您希望在单元格值更改时收到通知,则需要使用网格中的一个事件。