datagridviewcombobox列依赖于另一列

时间:2013-09-10 20:27:41

标签: c# gridview datagridviewcombobox

  

如何在gridviewcomboboxcolumns上执行此操作任何想法plx

     

//表单加载事件

string query="select article_name from article";
SqlCommmand cmd = new SqlCommand(query,con);
SqlDataAdapter da= new SqlDataAdapter(cmd);
DataTable dt=new DataTable();
da.Fill(dt);
combobox1.items.clear();
for(int i=0;i<dt.rows.count;i++)
{
 combobox1.items.add(dt.rows[i].cells[0].toString());
}
  

\ ComboBox1选择了IndexChange事件

string query1="select description from article where article_name='"+combobox1.selectedItem.ToString()+"'";
SqlCommmand cmd1 = new SqlCommand(query1,con);
SqlDataAdapter da1= new SqlDataAdapter(cmd);
DataTable dt1=new DataTable();
da1.Fill(dt1);
combobox2.items.clear();
for(int i=0;i<dt1.rows.count;i++)
{
 combobox2.items.add(dt1.rows[i].cells[0].toString());
}
  

\现在假设这两个combox是gridviewCombobox列,所以如何制作   这项工作在gridviewcombobox列

Project in Windows Form in C#

1 个答案:

答案 0 :(得分:0)

  

几个月后我发布了这个answer因为它有帮助   在DataGridviewComboboxcell上遇到问题的人   我完成了自己的技能第一次填写我的第一个/主要栏目

SqlCommand objCmd = new SqlCommand("select distinct article_name from Setup_article_custominvoice", con);
                    SqlDataAdapter objDA = new SqlDataAdapter(objCmd);
                    objDA.SelectCommand.CommandText = objCmd.CommandText.ToString();
                    DataTable dt = new DataTable();
                    objDA.Fill(dt);
                    article.DataSource = dt;
                    //this column1 will display as text
                    article.DisplayMember = "article_name";
  

之后我继续Cell End Edit

if (dataGridView1.CurrentCell == dataGridView1.CurrentRow.Cells["article_name"])
                {
                    string CategoryValue = "";
                    //string CategoryValue1 = "";

                    if (dataGridView1.CurrentCell.Value != null)
                    {
                        CategoryValue = dataGridView1.CurrentCell.Value.ToString();
                        //CategoryValue1 = dataGridView1.CurrentCell.Value.ToString();
                    }
                    //SqlConnection objCon = new SqlConnection(@"Data Source=.\SqlExpress;Initial Catalog=dbTest3;Integrated Security=True");
                    string query = "select article_name,composition from Setup_article_custominvoice where article_name='" + CategoryValue + "'";
                    SqlCommand objCmd = new SqlCommand(query, con);

                    SqlDataAdapter objDA = new SqlDataAdapter(objCmd);

                    objDA.SelectCommand.CommandText = objCmd.CommandText.ToString();
                    DataTable dt = new DataTable();

                    objDA.Fill(dt);

                    DataGridViewComboBoxCell t = dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[2] as DataGridViewComboBoxCell;
                    t.DataSource = dt;
                    t.DisplayMember = "composition";

                }