如何在Winforms中使用C#代码在DevExpress Gridview中添加新行?

时间:2017-08-18 21:29:01

标签: c# winforms gridview devexpress datagridviewcolumn

我想在GridViewControl中添加新行。我试过以下代码。但它并没有添加任何行。

我使用 RunDesigner 创建了列FilterValues

然后我尝试使用按钮点击功能通过以下代码添加记录

(gridControlMultiFilterValues.MainView as DevExpress.XtraGrid.Views.Grid.GridView).AddNewRow();
int newRowHandle = (gridControlMultiFilterValues.MainView as DevExpress.XtraGrid.Views.Grid.GridView).FocusedRowHandle;

(gridControlMultiFilterValues.MainView as DevExpress.XtraGrid.Views.Grid.GridView).SetRowCellValue(newRowHandle, fieldName: "FilterValues", _value: "3rd Party %");

(gridControlMultiFilterValues.MainView as DevExpress.XtraGrid.Views.Grid.GridView).UpdateCurrentRow();
(gridControlMultiFilterValues.MainView as DevExpress.XtraGrid.Views.Grid.GridView).RefreshData();

2 个答案:

答案 0 :(得分:0)

首先将GridView绑定到支持添加新项目的数据源,然后尝试向网格添加一行,如下所示:

JSONObject jsonObject = new JSONObject();

更多信息: https://www.devexpress.com/Support/Center/Question/Details/Q456331/add-new-row-to-gridview

答案 1 :(得分:0)

我建议您阅读文档 - Adding and Deleting Records

  

要向View添加新行,您可以使用ColumnView.AddNewRow   方法。仅对实现的数据源支持此方法   System.ComponentModel.IBindingList接口。在其他情况下,你   应该使用数据源提供的方法添加新行。

您应该使用数据源方法添加,删除和修改单个行。某些数据源(例如,数组和只读集合)不支持添加或删除行。不同的数据源存在一些限制。

如果网格控件绑定了正确的数据源,请通过TableView.AddNewRow文章获取有关AddNewRow方法的信息。

<强>参考文献:
Add new row programmatically
How to: Initialize the New Item Row with Default Values
How to add a Row at Runtime to Devexpress Gridview

如果您在非绑定模式下工作,请查看此文章:
Can the GridControl be used completely in unbound mode?

在这种情况下,您必须创建在执行任何插入/更新操作时必须维护的自定义数据存储。