我在C#WinForms中有一个dataGridView,它在我的数据库中显示一个表中的自定义项,我有文本框和按钮,用于在该表中插入新行。
当我点击按钮时,文本框的文本将被插入到表格中,我想在插入后,dataGridview可以重新加载新项目并显示它。
我使用dataGridView1.Update();
和dataGridView1.Refresh();
并且无效。
我知道dataGridView可以插入新项目,但我想以我的方式插入项目。 这是我在点击事件上的代码:
private void button1_Click(object sender, EventArgs e)
{
String connString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=|DataDirectory|\\bank.mdf;Integrated Security=True;User Instance=True";
SqlConnection conn = new SqlConnection(connString);
SqlCommand cmd = new SqlCommand();
String cmdText = "insert into marja (ayatollah) values(@n)";
cmd.CommandText = cmdText;
cmd.Parameters.AddWithValue("@n", textBox4.Text);
cmd.Connection = conn;
conn.Open();
if (cmd.ExecuteNonQuery() > 0)
{
dataGridView1.DataSource = marjaBindingSource;
textBox4.Text = "آیت الله ";
}
else
MessageBox.Show("Error");
conn.Close();
}
答案 0 :(得分:0)
您必须使用DataBind
方法重新加载datagridview
。
让我们说DataGridView1
是您ID
的{{1}},然后在datagridview
声明后使用以下代码行。
Insert
DataGridView1.DataSource = yourDataSource;
和Refresh
方法不会在此处为您提供服务。
全部阅读this link以获取更多信息。
你可以改变你的代码:
Update
答案 1 :(得分:0)
您应该尝试数据绑定,并可能将数据填充到ObservableCollection,您不需要手动调用更新,所有操作都会自动完成。
答案 2 :(得分:0)
this.marjaTableAdapter.FillBy(this.bankDataSet10.marja);
这是我的答案