C# datagridviewcomboxcolumn数据的绑定与值的显示

这篇博客记录了一个C#新手在学习过程中遇到的问题,如何在datagridview中创建下拉列(dropdown)并绑定数据。内容详细介绍了如何通过设置ColumnType、DisplayStyle和ReadOnly属性,以及如何绑定数据源、设置DisplayMember和ValueMember。通过示例代码展示了如何从数据库获取角色信息,绑定到datagridview的combobox列,并在用户选择角色后更新右侧textbox的显示。此外,还涵盖了在单元格值改变时触发的相关事件处理,如CellEnter、CellValueChanged和CurrentCellDirtyStateChanged。
摘要由CSDN通过智能技术生成

     对于我这样一个C#菜鸟,啥都不会,啥都得在网上找资料,一点一滴的学,很困难,所以把自己学习过程中遇到的一些儿问题记录于此,便于自己复查,也便于其它同仁学习。

     在一个datagridview中有一列,我想做成下拉的,这样可以让用户从在选定某个值,经过自己慢慢尝试终于搞定,记录如下:

想实现的功能如下:

打开这个权限管理的界面后,我可以更改用户的角色(角色是已经在另外一个界面中设置好的),当我选中左侧的某个角户或角色时,相应的用户名和角色名将显示在右侧上方的对应textbox处;

数据为表:

       用户表:User (UserID, UserName) (注:还有其它列,与此处无关,便不提) 

       角色表:Role(RoleID, RoleName)

       用户与角色实体关系:一个用户只属于一个角色,一个角色有多个用户。

      

     在datagridview中打开列编辑器如下:

设置ColumnType的属性如上图,设置DisplayStyle为DropDownButton(这样只有下拉,而用户不可输入),比较重要的是将ReadOnly属性设为false,要不绑定数据后,用户将无法选择绑定的数据!!如果没有设置默认值,则用户将看不到数据也不能更改!在这个问题上让我纠结了好久!

      相关代码如下:

               //绑定角色信息到datagridviewcomboxcolumn列中,该列的列名为roleName
                RoleManage roleMan = new RoleManage();
                DataSet roleDataSet = roleMan.GetRoleInfo("");//获取角色信息
                roleName.DataSource = roleDataSet.Tables[0]; //roleNam

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值