我从EntityFramework模型中填充GridView.DataSource:
gwTimeLog.DataSource = _entities.TimeLogs;
当向_entities添加新行时,我尝试更新网格(尝试使用与上面相同的语句,将其设置为null,然后重新设置为_entities.TimeLogs等),但是网格根本不会更新。即使_entities.TimeLogs实际上包含新行。
我错过了什么?
我从EntityFramework模型中填充GridView.DataSource:
gwTimeLog.DataSource = _entities.TimeLogs;
旧回答:您尝试过调用GridView.DataBind()吗?
哎呀,我以为这是一个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);
这对我来说有效:
dataGridView.DataSource = null;
dataGridView.DataSource = listOfSomething;
grid.EndEdit();
BindingSource.EndEdit();
_entities = new dbEntities();
firmeBindingSource.DataSource=_entities.TimeLogs;