DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题

DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题

需求:左边这列固定x行,右边显示下拉,并且赋上默认值

DataGridView的下拉DataGridViewComboBoxColumn的数据绑定问题_第1张图片

 public void Set()
        {
            // 添加需要固定显示的行数
            dataGridView1.Rows.Add("早班";
            dataGridView1.Rows.Add("中班");
            dataGridView1.Rows.Add("晚班");
            
            // 构造数据
            DataTable dt = new DataTable();
            dt.Columns.Add("ID");
            dt.Columns.Add("Name");

            DataRow dr = dt.NewRow();
            dr["ID"] = "1";
            dr["Name"] = "张三";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["ID"] = "2";
            dr["Name"] = "李四";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["ID"] = "3";
            dr["Name"] = "王五";
            dt.Rows.Add(dr);

            dr = dt.NewRow();
            dr["ID"] = "4";
            dr["Name"] = "王六";
            dt.Rows.Add(dr);


			//  绑定数据
            Column2.DataSource = dt;
            Column2.DisplayMember = "Name";  // 显示值
            Column2.ValueMember = "ID";		 // 实际值
			
			//  赋值
            for (int i = 0; i < 3; i++)
            {
                dataGridView1.Rows[i].Cells["Column2"].Value = dt.Rows[i]["ID"].ToString();
            }
        }

需要注意的地方:

dataGridView1.Rows[i].Cells[“Column2”].Value = dt.Rows[i][“ID”].ToString();
这个Value赋值的时候,要注意数据类型,因为有的时候这个ID是Int类型的,这个Value就不能赋值String,否则会导致显示错误!!

你可能感兴趣的:(WinForm,c#)