Grid控件绑定bindingSource后在新增行时设置Cell的初始值
问题不是高深的问题,只是希望能静下心来记录项目中所遇到的种种问题。
举个例子,有一个第三方提供的Grid控件, 界面显示就是简单的对象集合
private void Form2_Load(object sender, EventArgs e)
{
IList<Entity1> list = new List<Entity1>() { new Entity1 { Name = "1", Age = 11 }, new Entity1 { Name = "2", Age = 22 } };
this.bindingSource1.DataSource = list;
}
注:Entity1类只有Name和Age属性
Grid控件上显示的结果为:
Name Age
1 11
2 22
在点击“新增行”时,有一个新的要求,就是“Grid控件上需要增加一行,并且Age的值默认是20”。 显示为:
Name Age
1 11
2 22
20
实现该要求的方法不一,这里使用bindingsource的AddingNew事件来实现
private void bindingSource1_AddingNew(object sender, AddingNewEventArgs e)
{
Entity1 newObject = new Entity1();
newObject.Age = 20;//设置初始值
e.NewObject = newObject;
}