我填充GridView.DataSource从的EntityFramework型号:如何刷新WinForms DataGridView上的数据源?
gwTimeLog.DataSource = _entities.TimeLogs;
当一个新的行添加到_entities,我尝试更新的网格(使用与上述相同的语句尝试,将其设置为空,则回到_entities.TimeLogs等等),但网格根本不会更新。即使_entities.TimeLogs实际上包含新行。
我错过了什么?
我填充GridView.DataSource从的EntityFramework型号:如何刷新WinForms DataGridView上的数据源?
gwTimeLog.DataSource = _entities.TimeLogs;
当一个新的行添加到_entities,我尝试更新的网格(使用与上述相同的语句尝试,将其设置为空,则回到_entities.TimeLogs等等),但网格根本不会更新。即使_entities.TimeLogs实际上包含新行。
我错过了什么?
答案是已经在GridView连接的BindingList,而不是名单。
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);
grid.EndEdit();
BindingSource.EndEdit();
_entities = new dbEntities();
firmeBindingSource.DataSource=_entities.TimeLogs;
欢迎来到计算器!提供示例代码的简短描述以提高发布准确性总是更好:) – 2012-10-28 00:47:46
的WinForms,ASP.NET不是我 – AngryHacker 2010-01-06 18:50:06
错误。修订。 – hackerhasid 2010-01-06 18:53:08
BindingSource @ MSDN:http://msdn.microsoft.com/en-us/library/system.windows.forms.bindingsource.aspx – hackerhasid 2010-01-06 18:53:57