我的datagridview设计为录入一行数据后自动生成下一行,然后继续录入,全部录入完毕后插入到数据库中,但是当我录入最后一条记录时也会自动增加下一行,可那行已经没有用了,请问大家这种情况应该怎么处理下比较好呢?
我用的是下面的方法增加一行
int index = this.dataOutGridView.Rows.Add();
newrow = dataOutGridView.Rows[index];
newrow.Cells[0].Value = dataOutGridView.Rows.Count;
我用的是下面的方法增加一行
int index = this.dataOutGridView.Rows.Add();
newrow = dataOutGridView.Rows[index];
newrow.Cells[0].Value = dataOutGridView.Rows.Count;
如果非要自己写的话,要增加一句:
if (dataOutGridView.IsCurrentCellDirty)
dataOutGridView.CommitEdit(DataGridViewDataErrorContexts.Commit);
{ for (int i = 0; i < dgvGdetails.Rows.Count; i++)
{
dgvGdetails["serialId", i].Value = string.Format("{0:D3}", i + 1).PadLeft(3, '0'); } } private void button1_Click(object sender, EventArgs e)
{
if (dgvGdetails.Columns[this.dgvGdetails.CurrentCell.ColumnIndex].Name == "re" && this.dgvGdetails.CurrentCell.RowIndex == dgvGdetails.Rows.Count - 1)
{ DataGridViewRow row = new DataGridViewRow();
dgvGdetails.Rows.Add(row);
BinddataGridViewTextBox(); }
}
/// 实例化新行
/// </summary>
private void gv_FeeItem_InitNewRow(object sender, DevExpress.XtraGrid.Views.Grid.InitNewRowEventArgs e)
{
GridView view = sender as GridView;
view.SetRowCellValue(e.RowHandle, this.列名, 默认值);
}
觉得直接使用实例化新行的方法就行,没必要使用代码构造,这样也可以设置默认值。可以通过设计编辑器设置新行的初始位置,只要输入一行完毕,多余的实例化行不会保存到数据库。