dataGridView单元格下拉框实现联动

来源:互联网 发布:人工智能哪个大学好 编辑:程序博客网 时间:2024/06/17 16:38
第1步:先将第一个下拉框在Load里面填充上数据
            dgvCmbObligorType.DataSource = dtPayer;            dgvCmbObligorType.DisplayMember = "name";            dgvCmbObligorType.ValueMember = "id";
第2步:使用dataGridView1_CellValueChanged事件完成联动
private void dataGridView1_CellValueChanged(object sender, DataGridViewCellEventArgs e){    if (e.RowIndex >= 0)     {          if (e.ColumnIndex == 0)          {                 if (dataGridView1.Rows[e.RowIndex].Cells[0].Value != null)                 {                        string id = dataGridView1.Rows[e.RowIndex].Cells[0].Value.ToString();                        dataGridView1.Rows[e.RowIndex].Cells[0].Tag = id;                        //根据类型取责任人                          if (id == "2")//快递员                          {                            string sql = "exec srmaster..usp_getPoster ";                            DataTable dt = SRWebClient.webClient.Handler.dataClient.getDataTable(sql);                            DataGridViewComboBoxCell cell = dataGridView1.Rows[e.RowIndex].Cells[1] as DataGridViewComboBoxCell;                            cell.DataSource = dt;                            cell.DisplayMember = "name";                            cell.ValueMember = "id";                            dataGridView1.Rows[e.RowIndex].Cells[2].Value = "0";                        }                        else if (id == "3")//站点                            {                            string sql = "select * from srmaster..department where depcid in(800,801,802) order by name";                            DataTable dt = SRWebClient.webClient.Handler.dataClient.getDataTable(sql);                            DataGridViewComboBoxCell cell = dataGridView1.Rows[e.RowIndex].Cells[1] as DataGridViewComboBoxCell;                            cell.DataSource = dt;                            cell.DisplayMember = "name";                            cell.ValueMember = "id";                            dataGridView1.Rows[e.RowIndex].Cells[2].Value = "0";                        }                }          }          else if (e.ColumnIndex == 1)          {                    if (dataGridView1.Rows[e.RowIndex].Cells[1].Value != null)                    {                        string id = dataGridView1.Rows[e.RowIndex].Cells[1].Value.ToString();                        dataGridView1.Rows[e.RowIndex].Cells[1].Tag = id;                     }          }     } }

原创粉丝点击