[英]How do I display my datagrid view items to textboxes in a another form?
[英]How do I refresh my datagrid view from another form after I insert and update my values inside my database?
在更新并将值插入数据库后,我不确定如何继续刷新数据网格视图。 我知道我必须将数据库值绑定到另一个表单,以便当我单击更新或插入按钮时,它们将在另一个表单中用新内容填充我的 DGV。
到目前为止,这就是我所拥有的
这是我填充数据网格的代码:
private void PopulateDataGrid()
{
Form1 f1 = new Form1();
MySqlCommand cmd = conn.CreateCommand();
DataTable datatable = new DataTable();
cmd.CommandText = "select id,platenumber,brand,model,yearmodel,regdate,exdate,odometer from vehicle";
cmd.CommandType = CommandType.Text;
dataAdapter = new MySqlDataAdapter(cmd);
dataAdapter.Fill(datatable);
f1.dataGridView1.DataSource = datatable;
}
但是当我在我的保存按钮中调用 function 时,它似乎已经跳过了它。
private void savebtn_Click(object sender, EventArgs e)
{
Form1 f1 = new Form1();
DataTable dt = new DataTable();
int newid = Convert.ToInt32(idtxt.Text);
int ID = newid;
MySqlCommand cmd = new MySqlCommand("update vehicle set platenumber=@platenumber, brand=@brand, model=@model, yearmodel=@yearmodel, regdate=@regdate, exdate=@exdate, odometer=@odometer where ID = @id" , conn);
cmd.Parameters.AddWithValue("@id", ID);
cmd.Parameters.Add("@platenumber", MySqlDbType.VarChar, 10).Value = pnumber.Text;
cmd.Parameters.Add("@brand", MySqlDbType.VarChar, 60).Value = brand.Text;
cmd.Parameters.Add("@model", MySqlDbType.VarChar, 45).Value = model.Text;
cmd.Parameters.Add("@yearmodel", MySqlDbType.Int32).Value = yearmodel.Text;
cmd.Parameters.Add("@regdate", MySqlDbType.Date).Value = datereg.Value;
cmd.Parameters.Add("@exdate", MySqlDbType.Date).Value = regexp.Value;
cmd.Parameters.Add("@odometer", MySqlDbType.Decimal).Value = odometer.Text;
int i = cmd.ExecuteNonQuery();
if (i != 0)
{
MessageBox.Show("Success");
}
else
{
MessageBox.Show("Fail");
}
PopulateDataGrid();
this.Close();
}
一旦单击按钮更新/插入我的数据库并关闭单独的表单,我对刷新 DGV 应该做什么感到困惑。
对您要的内容感到有些困惑,但是 refresh(); 应该更新你的datagridview
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.