Ang*_*ker 6 entity-framework datagridview refresh winforms
我从EntityFramework模型填充GridView.DataSource:
gwTimeLog.DataSource = _entities.TimeLogs;
Run Code Online (Sandbox Code Playgroud)
当一个新行添加到_entities时,我尝试更新网格(尝试使用与上面相同的语句,将其设置为null,然后返回_entities.TimeLogs等...),但网格根本不会更新.即使_entities.TimeLogs确实包含新行.
我错过了什么?
hac*_*sid 12
老答案:您是否尝试过调用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);
Run Code Online (Sandbox Code Playgroud)