我正在尝试为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");
}
有什么问题?
答案 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帮助文章。