2013-03-16 42 views
0

我在C#WinForms中有一個dataGridView,它顯示我數據庫中一個表的自定義項目,並且我有用於在該表格中插入新行的文本框和按鈕。 當我點擊按鈕時,文本框的文本將被插入到表格中,我想在插入之後,dataGridview可以重新加載新的項目並顯示它。 我使用dataGridView1.Update();dataGridView1.Refresh();並且不起作用。dataGridView的重新加載項目

我知道dataGridView可以插入新項目,但我想以我的方式插入項目。 這是我的Click事件代碼:

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

你能告訴我們的代碼,所以我們可以爲您解決問題? – 2013-03-16 07:12:10

+0

@JeremyThompson你想看什麼代碼?我編寫了一些代碼來插入新的數據到數據庫,它能正常工作。當我關閉表單並重新打開它時,該項添加 – Ehsan 2013-03-16 07:15:15

回答

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

這是我的答案

0

那麼你將不得不使用DataBind方法來重新加載datagridview

可以說DataGridView1是您的datagridviewID然後在您的Insert聲明後使用下面的代碼行。

DataGridView1.DataSource = yourDataSource; 

RefreshUpdate方法在這裏慣於服務器你的目的。

全部閱讀this link欲知更多信息。

你可以改變你的代碼如下:

private void button1_Click(object sender, EventArgs e) 
{ 
    int rowsAffected = 0; 
    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(); 
    rowsAffected = cmd.ExecuteNonQuery(); 
    conn.Close(); 

    if (rowsAffected > 0) 
    { 
     dataGridView1.DataSource = marjaBindingSource; 
     textBox4.Text = "آیت الله "; 
    } 

    else 
    { 
     MessageBox.Show("Error"); 
    } 
} 
+0

'System.Windows.Forms.DataGridView'不包含'DataBind'的定義,並且沒有接受類型爲'System.Windows'的第一個參數的擴展方法'DataBind' .Forms.DataGridView'可以找到 – Ehsan 2013-03-16 07:19:27

+0

看到我更新的答案...將現在工作:) – 2013-03-16 07:26:00

+0

我這樣做,但不工作。 – Ehsan 2013-03-16 07:28:37

相關問題