2012-12-27 106 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