2012-12-27 46 views
1

如何在運行時從數據庫中顯示DataGridView中組合框上的文本?DataGridView中的組合框

例如,如果我正在下一次在DataGridView的組合框中更新數據庫中的文本,我想在組合框中顯示該文本。

sqlConnection = new SqlConnection(ConfigurationManager.ConnectionStrings["Con"].ToString()); 
selectQueryString = "SELECT Code,CompanyName,FinancialYearStart,FinancialYearEnd,UserName,RoleP FROM CompanyInformation"; 

sqlDataAdapter = new SqlDataAdapter(selectQueryString, sqlConnection); 
sqlCommandBuilder = new SqlCommandBuilder(sqlDataAdapter); 

dataTable = new DataTable(); 
sqlDataAdapter.Fill(dataTable); 

bindingSource = new BindingSource(); 
bindingSource.DataSource = dataTable; 

dataGridView3.DataSource = bindingSource; 
dataGridView3.Controls.Clear(); 

DataGridViewComboBoxColumn comboboxColumn = new DataGridViewComboBoxColumn(); 
comboboxColumn.Items.AddRange("Protected", "UnProtected"); 
comboboxColumn.HeaderText = "RoleP"; 
dataGridView3.Columns.Add(comboboxColumn); 


private void button10_Click(object sender, EventArgs e) 
{ 
    SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["Con"].ToString()); 
    con.Open(); 

    // if (dataGridView3.Columns.Count >= 4 && dataGridView3.Columns.Count < 10) 
    // { 
     int i = dataGridView3.Rows.Count; 
     int r = 0; 

     for (int s = 0; s < i; s++) 
     { 
      try 
      { 
       string Role = dataGridView3.Rows[s].Cells[0].Value.ToString(); 
       int Cod = Convert.ToInt32(dataGridView3.Rows[s].Cells[1].Value.ToString()); 
       if (Role != "") 
       { 
        SqlCommand cmd = new SqlCommand("update CompanyInformation SET [email protected] where [email protected]", con); 
        cmd.Parameters.AddWithValue("@Cod", Cod); 
        cmd.Parameters.AddWithValue("@Role", Role); 

        r = cmd.ExecuteNonQuery(); 
       } 
      } 
      catch 
      { 
      } 

     } 

     if (r >= 1) 
     { 
      MessageBox.Show("Update Successful"); 
      SuperUser obj = new SuperUser(); 
      this.Hide(); 
      this.ParentForm.Hide();    
     } 
+1

您是否嘗試過這麼遠嗎? DB更新後讀取[faq]並[詢問] –

+0

rebind combobox。 – sajanyamaha

+0

那麼你如何更新'ComboBox'中的文本,你如何綁定/顯示它。 – V4Vendetta

回答

0

你可以用這個去:

DataGridViewComboBoxColumn comboboxColumn = new DataGridViewComboBoxColumn(); 
comboboxColumn.Items.AddRange("Protected", "UnProtected"); 
comboboxColumn.HeaderText = "RoleP"; 
dataGridView3.Columns.Add(comboboxColumn); 

隨後入住

foreach (DataGridViewRow row in dataGridView3.Rows) 
{ 
    (row.Cells[1] as DataGridViewComboBoxCell).Value = yourvalue; 
} 
+0

其實我想要綁定數據庫中的數據組合框 – sampath

+0

先生其不顯示文本在comboBox上。 – sampath

+0

什麼都不想我最初顯示,但一旦我運行我的應用程序文本將顯示在組合框從數據庫 – sampath