我从EntityFramework模型填充GridView.DataSource:
gwTimeLog.DataSource = _entities.TimeLogs;
当一个新行添加到_entities时,我尝试更新网格(尝试使用与上面相同的语句,将其设置为null,然后返回_entities.TimeLogs等...),但网格只是赢了不要更新。即使_entities.TimeLogs确实包含新行。
我错过了什么?
答案 0 :(得分:12)
OLD ANSWER:您是否尝试过调用GridView.DataBind()?
Woops,我认为这是一个WebForms DataGrid。
如果您使用的是WinForms,则可能需要查看BindingSource类。绑定到该类而不是直接到列表将提供更新通知等。
以下代码适用于我:
List<Person> names = new List<Person>();
names.Add(new Person(){
FirstName = "Steve",
LastName = "Jobs"
});
names.Add(new Person()
{
FirstName = "Bill",
LastName = "Gates"
});
BindingSource source = new BindingSource();
source.DataSource = names;
dataGridView1.DataSource = source;
names.Add(new Person()
{
FirstName = "Steve",
LastName = "Balmer"
});
source.ResetBindings(false);
答案 1 :(得分:6)
答案是让gridview连接到BindingList而不是List。
答案 2 :(得分:2)
这对我有用:
./dir1/subdir2/rpm1.rpm
答案 3 :(得分:-1)
grid.EndEdit();
BindingSource.EndEdit();
_entities = new dbEntities();
firmeBindingSource.DataSource=_entities.TimeLogs;