我有一个绑定到列表的 DataGridView。值显示正常,当我单击一个值时,它开始编辑,但是当我按 Enter 时,更改被忽略,没有数据被更改。当我在值设置器中放置一个断点时,我可以看到它在编辑后执行,但没有显示任何更改的数据。我的绑定代码如下所示:
namespace DataGridViewList
{
public partial class Form1 : Form
{
public struct LocationEdit
{
public string Key { get; set; }
private string _value;
public string Value { get { return _value; } set { _value = value; } }
};
public Form1()
{
InitializeComponent();
BindingList<LocationEdit> list = new BindingList<LocationEdit>();
list.Add(new LocationEdit { Key = "0", Value = "Home" });
list.Add(new LocationEdit { Key = "1", Value = "Work" });
dataGridView1.DataSource = list;
}
}
}
该项目是一个基本的 Windows 窗体项目,在设计器中创建了一个 DataGrid,列名为 Key 和 Value,并将 DataPropertyName 分别设置为 Key / Value。没有值设置为只读。
我缺少一些步骤吗?我需要实施INotifyPropertyChanged
,还是其他什么?