我有一个gridcontrol,它使用BindingSource
绑定到列表。
invoice_GroupListBindingSource.Datasource= _list.
GridControl.DataSource = invoice_GroupListBindingSource
现在有一个checkit列(我们称之为Invoice_Bool
)。功能要求是当用户选择任何一个列时,应该更新所有数据行,并且还应该选择它们的列。
Foloowing是我尝试过的代码:
private void invoice_GroupListBindingSource_CurrentItemChanged(object sender, EventArgs e)
{
Data.InvoiceGroupList.InvoiceGroupInfo current;
if (invoice_GroupListBindingSource.Current == null)
{
current = null;
}
else
{
current = ((Data.InvoiceGroupList.InvoiceGroupInfo)invoice_GroupListBindingSource.Current);
}
if (current.Invoice_Bool)
{
foreach (var item in _invoice_list)
{
item.Invoice_Bool = true;
}
this.invoice_GroupListBindingSource.DataSource = _invoice_list;
}
}
有了这个,当用户选择其中任何一个(根据需要)时,我得到一个包含所有Invoice_Bool
的更新列表,但是在前端(在网格中),所有bool值仍然未被选中。知道如何在数据源发生变化时更新网格..理想情况下应该自动完成,但我不确定为什么不更新。