簡體   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