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

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

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

csharp 复制代码
 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.Rowsi.Cells"Column2".Value = dt.Rowsi"ID".ToString();

这个Value赋值的时候,要注意数据类型,因为有的时候这个ID是Int类型的,这个Value就不能赋值String,否则会导致显示错误!!

相关推荐
淡海水2 小时前
09-04-内存-Unity原生对象生命周期
unity·c#·游戏引擎·gc
吴可可1235 小时前
富怡CAD二次开发指南
c#
1-1=05 小时前
C# IO和序列化
c#·.net·.netcore
寂寞的船7 小时前
【Unity Bug挑战】第10期 SerializeReference 内存泄漏之谜
unity·c#·游戏引擎·bug
CSharp精选营7 小时前
从控制台到「会动手」的 AI:用 Semantic Kernel 搭应用(小白教程)
c#·.net·ai agent·semantickernel·functioncalling
宝桥南山1 天前
.NET 11 - 尝试一下Blazor中的新特性SupplyParameterFromTempData
microsoft·微软·c#·asp.net·.net·.netcore
1-1=01 天前
C# 中 Lambda、Linq 与 Expression
c#·linq
zhanghaha13141 天前
C# 系列教程_7 判断语句(分支)保姆级精讲
开发语言·c#
zhanghaha13141 天前
C# 系列教程_8 循环语句 保姆级精讲(面向新手)
开发语言·c#
rockey6272 天前
AScript之LINQ扩展
c#·.net·script·动态脚本