繁体   English   中英

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

[英]How to add new row in DevExpress Gridview using C# code in Winforms?

我想在 GridViewControl 中添加新行。 我尝试了以下代码。 但它不会添加任何行。

我使用RunDesigner创建了 Column 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();

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

  private void CreatNewRow(int val1, int val2, int val3)
{
    gridView1.AddNewRow();

    int rowHandle = gridView1.GetRowHandle(gridView1.DataRowCount);
    if (gridView1.IsNewItemRow(rowHandle))
    {
        gridView1.SetRowCellValue(rowHandle, gridView1.Columns[0], val1);
        gridView1.SetRowCellValue(rowHandle, gridView1.Columns[1], val2);
        gridView1.SetRowCellValue(rowHandle, gridView1.Columns[2], val3);
    }
}

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

我建议您阅读文档 - 添加和删​​除记录

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

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

如果您使用正确的数据源绑定网格控件,那么请阅读TableView.AddNewRow文章以获取有关 AddNewRow 方法的信息。

参考资料:
以编程方式添加新行
如何:使用默认值初始化新项目行
如何在运行时向 Devexpress Gridview 添加一行

如果您在未绑定模式下工作,请查看这篇文章:
GridControl 可以完全在非绑定模式下使用吗?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM