DataGirdView 光标锁定单元格
try
{
this.dg_Trans.EndEdit();
if (e.RowIndex == -1) return;
if (e.RowIndex < 0 || e.ColumnIndex < 0) return;
if (e.ColumnIndex != 3)
{
DataSet dsItem = new DataSet();
DataAccess.DAFittings Fitting = new DataAccess.DAFittings();
if (this.dg_Trans.Rows[e.RowIndex].Cells[3].Value != null)
{
dsItem = Fitting.GetMaterial(this.dg_Trans.Rows[e.RowIndex].Cells[3].Value.ToString());
if (dsItem.Tables[0].Rows.Count == 1)
{
this.dg_Trans.Rows[e.RowIndex].Cells[2].Value = dsItem.Tables[0].Rows[0][0].ToString();
this.dg_Trans.Rows[e.RowIndex].Cells[4].Value = dsItem.Tables[0].Rows[0][2].ToString();
}
else if (dsItem.Tables[0].Rows.Count == 0)
{
MessageBox.Show("提示:物料代码不存在,请从新输入", "提示信息", MessageBoxButtons.OK, MessageBoxIcon.Information);
//this.dg_Trans.ClearSelection();
//this.dg_Trans.Rows[e.RowIndex].Cells[3].Selected = true;//光标返回到错语代码列
this.dg_Trans.EditMode = DataGridViewEditMode.EditOnEnter;
this.dg_Trans[e.RowIndex, 3] = this.dg_Trans[e.RowIndex, e.ColumnIndex-1];
//this.dg_Trans.CurrentCell = this.dg_Trans[e.RowIndex, 3];
//this.dg_Trans.BeginEdit(true);
}
}
}
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}