DataGridView代码绑定下拉列

        /*
             WinForm.DataGridView代码绑定DataGridView下拉列
             * 注意点:ComboBoxColumn.DataPropertyName需与GuidView绑定列名(数据源属性名)一致
             */

            //模拟Grid数据
            DataTable dt = new DataTable();
            dt.Columns.Add("C1");
            DataRow dr = dt.NewRow();
            dr["C1"] = "value1";
            dt.Rows.Add(dr);

            //模拟下拉数据
            var comboBox_Dt = new DataTable();
            comboBox_Dt.Columns.Add("Text");
            comboBox_Dt.Columns.Add("Value");
            for (int i = 0; i < 10; i++)
            {
                DataRow comboBox_DtDr = comboBox_Dt.NewRow();
                comboBox_DtDr["Text"] = "Text" + i;
                comboBox_DtDr["Value"] = "value" + i;
                comboBox_Dt.Rows.Add(comboBox_DtDr);
            }

            //创建下拉列
            if (comboBox_Dt.Rows.Count > 0)
            {
                DataGridViewComboBoxColumn comboBoxColumn = new DataGridViewComboBoxColumn();
                comboBoxColumn.DisplayStyle = DataGridViewComboBoxDisplayStyle.ComboBox;
                comboBoxColumn.DataSource = comboBox_Dt;
                comboBoxColumn.DataPropertyName = "C1";
                comboBoxColumn.DisplayMember = "Text";
                comboBoxColumn.ValueMember = "Value";
                dgvTest.Columns.Add(comboBoxColumn);
            }

            //绑定数据
            dgvTest.DataSource = dt;

 

posted @ 2016-10-21 10:24  泥称  阅读(370)  评论(0)    收藏  举报