在DevExpress中的gridview中插入行

时间:2016-03-16 13:08:47

标签: c# gridview devexpress

我正在尝试为gridview添加值,但从未插入,但都没有插入,甚至删除“if(gvProcess.IsNewItemRow(rowHandle))”以获得相同的工作,但都没有插入。

private void add_new_row(string val1,string val2,string val3,string val4,string val5)
{
    //gvProcess.OptionsBehavior.Editable = true;

    gvProcess.AddNewRow();

    int rowHandle = gvProcess.GetRowHandle(gvProcess.DataRowCount);
    if (gvProcess.IsNewItemRow(rowHandle))
    {
        gvProcess.SetRowCellValue(rowHandle, gvProcess.Columns[0], val1);
        gvProcess.SetRowCellValue(rowHandle, gvProcess.Columns[1], val2);
        gvProcess.SetRowCellValue(rowHandle, gvProcess.Columns[2], val3);
        gvProcess.SetRowCellValue(rowHandle, gvProcess.Columns[3], val4);
        gvProcess.SetRowCellValue(rowHandle, gvProcess.Columns[4], val5);

    }

    gvProcess.UpdateCurrentRow();

    MessageBox.Show("Done");

}

有什么问题?

2 个答案:

答案 0 :(得分:0)

而不是,您可以使用此>

DataTable dtMain = ((DataTable)gcGrid.DataSource);
DataRow newRow = dtMain.NewRow();
newRow["Column1"] = "";
dtMain.Rows.Add(newRow);

RESP

        private void add_new_row(string val1, string val2, string val3, string val4, string val5)
        {
          //gcProcess
          if (gcProcess.DataSource != null)
          {
            gcProcess.BeginUpdate();
            DataTable dtMain = ((DataTable)gcProcess.DataSource);
            DataRow newRow = dtMain.NewRow();
            newRow[0] = val1;
            newRow[1] = val2;
            newRow[2] = val3;
            newRow[3] = val4;
            newRow[4] = val5;
            dtMain.Rows.Add(newRow);
            gcProcess.EndUpdate();
          }
        }

答案 1 :(得分:0)

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

有关详细信息,请查看Adding and Deleting Records帮助文章。

相关问题