2017-08-18 13 views
0

GridViewControlに新しい行を追加したいとします。私はこの次のコードを試しました。しかし、それは行を追加しません。WinFormsのC#コードを使用してDevExpress Gridviewに新しい行を追加するには?

FilterValuesRunDesignerを使用して作成しました。

そして私は、コード

(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(); 
+0

gridControlMultiFilterValues boundは任意のデータソースですか? –

答えて

0

最初に従うことによって、ボタンのクリック機能を使用してレコードを追加しようとしていた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

+0

コピー貼り付けをしました。私はすでにこれを試しました。動作していません –

+0

GridViewがBindingSourceなどの追加や編集をサポートするDataSourceにバインドされていることを確認してください。そうしないと、動作しません。 – EsnEzz

+0

また、GridViewがBindingSourceにバインドされている場合は、データソースに新しい項目を追加することができます。GridViewは、変更を反映するように自身を更新します。 – EsnEzz

0

私はあなたがDを通過することをお勧めocumentation - Adding and Deleting Records

ビューに新しい行を追加するには、あなたがColumnView.AddNewRow メソッドを使用することができます。このメソッドは、 System.ComponentModel.IBindingListインターフェイスを実装するデータソースに対してのみサポートされています。他のケースでは、 は、データソースによって提供されたメソッドを使用して新しい行を追加する必要があります。

データソースメソッドを使用して、個々の行を追加、削除、および変更する必要があります。一部のデータソース(たとえば、配列や読み取り専用コレクション)では、行の追加や削除がサポートされていません。異なるデータソースにはいくつかの制限があります。

グリッドコントロールが正しいデータソースにバインドされている場合は、の記事を参照して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?

カスタムデータストアを作成する必要がありますこれは挿入/更新操作を実行するときに維持する必要があります。

関連する問題