[英]How do I Add a new row to a datagridview without using a dataset or datatable?
我正在使用列表綁定到dataGridView。 我希望用戶能夠添加新行。
我試過使用BindingList和BindingSource。
這是我的綁定(不包括我在添加數據源之前添加到datagridview的組合框列:
binding = new BindingSource();
binding.DataSource= _Rows;
_dg.DataSource = binding;
這是填充_Rows的代碼
protected override List<BusinessApp> getRows(DataGridViewManager manager)
{
var dc = manager.dc.DcHerb;
return (from p in dc.apps
where p.zQueueId == this.ZQueueId
select p)
.ToList().ToBusinessApp(dc);
}
這就是我想要的新行。 不會發生異常,但是即使_Rows計數從68變為69,dataGridView似乎也沒有改變。
private void newRow()
{
_Rows.Add(new BusinessApp(_manager.dc.DcHerb, new app() {acaps="1234" }));
//_dg.DataSource = binding; //tried rebinding here
//_dg.DataSource = _Rows;
}
我想您是否有任何外鍵綁定到另一個表,如果是,則可以將鍵分配給新添加的行,而datagrid將顯示當前新添加的行。 否則,您可能還會缺少代碼datagrid.EndEdit()
如何在已經定義的“綁定”成員變量上調用“ AddNew()”方法?
binding.AddNew();
// and set the needed columns...
((binding.Current.Row) as <yourTypedDataTableRow>).<columnName> = <someValue>;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.