重新加载dataGridView的项目

时间:2013-03-16 07:08:50

标签: c# datagridview

我在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();
        }

3 个答案:

答案 0 :(得分:0)

您必须使用DataBind方法重新加载datagridview

让我们说DataGridView1是您ID的{​​{1}},然后在datagridview声明后使用以下代码行。

Insert

DataGridView1.DataSource = yourDataSource; Refresh方法不会在此处为您提供服务。

全部阅读this link以获取更多信息。

你可以改变你的代码:

Update

答案 1 :(得分:0)

您应该尝试数据绑定,并可能将数据填充到ObservableCollection,您不需要手动调用更新,所有操作都会自动完成。

另见帖子:Reloading Listbox content

答案 2 :(得分:0)

this.marjaTableAdapter.FillBy(this.bankDataSet10.marja);

这是我的答案

相关问题