I have DataGridView
that need to refreshed everytime the cell edited. It is in CellEndEdit
event :
private void gridView_CellEndEdit(object sender, DataGridViewCellEventArgs e)
{
//some code for updating to database here
Grid_Load();
}
Grid_Load(code)
has normal refresh task :
public void Grid_Load(string code)
{
try
{
String sqlString = "SELECT e.room, e.room, c.code, c.[weight], c.[date], c.sender, c.receiver, c.container, c.seal, c.note " +
"FROM loadingPlan a INNER JOIN loadingPlanDetail b " +
"ON a.ID = b.loadingID INNER JOIN containerTransaction c " +
"ON b.transactionCode = c.code LEFT JOIN stowage d " +
"ON a.code = d.loadingCode LEFT JOIN stowageDetail e " +
"ON b.transactionCode = e.transactionCode " +
"WHERE a.code = @code " +
"AND d.ID = @id " +
"ORDER BY c.[weight] ASC ";
using (SqlDataAdapter da = new SqlDataAdapter(sqlString, connString))
{
da.SelectCommand.Parameters.Add("@code", SqlDbType.VarChar).Value = code;
da.SelectCommand.Parameters.Add("@id", SqlDbType.VarChar).Value = this.id;
using (DataSet ds = new DataSet())
{
da.Fill(ds, "data");
DataTable dt = new DataTable();
dt = ds.Tables["data"];
gridView.DataSource = dt;
gridView.Columns[0].ReadOnly = true;
gridView.Columns[0].Visible = false;
gridView.Columns[1].HeaderText = "Room";
gridView.Columns["code"].HeaderText = "No. Transaksi";
gridView.Columns["code"].ReadOnly = true;
gridView.Columns["weight"].HeaderText = "Berat";
gridView.Columns["weight"].ReadOnly = true;
gridView.Columns["date"].HeaderText = "Tanggal";
gridView.Columns["date"].ReadOnly = true;
gridView.Columns["sender"].HeaderText = "Pengirim";
gridView.Columns["sender"].ReadOnly = true;
gridView.Columns["receiver"].HeaderText = "Penerima";
gridView.Columns["receiver"].ReadOnly = true;
gridView.Columns["container"].HeaderText = "No. Kontainer";
gridView.Columns["container"].ReadOnly = true;
gridView.Columns["seal"].HeaderText = "No. Seal";
gridView.Columns["seal"].ReadOnly = true;
gridView.Columns["note"].HeaderText = "Keterangan";
gridView.Columns["note"].ReadOnly = true;
}
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message.ToString());
}
}
Everything works perfectly but something weird exception when I click another cell while editing a cell.
Operation is not valid because it results in a reentrant call to the SetCurentCellAddressCore function
This error just thrown when I do click while editing. Arrow, Enter is works perfectly.