控件:DataGridView列类型
DataGridView的列的类型提供有多种,包括有:
(1)DataGridViewTextBoxColumn(文本列,默认的情况下就是这种)
(2)DataGridViewComboBoxColumn(组合框列,名字瞎起的,就是这个功能要用到的列)
(3)DataGridViewLinkColumn(链接列)
(4)DataGridViewButtonColumn(按钮列)
(5)DataGridViewCheckBoxColumn(打钩列)
一、DataGridViewComboBoxColumn
实例:
DataTable dt = DBServiceHelper.businessDbHelper.Fill(UserInfo, "select a.code,a.Name from tequip_ini a where a.equip_type in (1,6) ");if (dt != null){dataGridViewTextBoxColumn3.DataPropertyName = "code";dataGridViewTextBoxColumn3.DisplayMember = "name";dataGridViewTextBoxColumn3.ValueMember = "code";dataGridViewTextBoxColumn3.DataSource = dt;}
GrdReadRecord2.EditingControlShowing += new DataGridViewEditingControlShowingEventHandler(GrdReadRecord2_EditingControlShowing);
实现每一行的该单元格具有不同的ComboBox项:
private void GrdReadRecord2_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e){try{if (GrdReadRecord2.CurrentCell.ColumnIndex == 5){ComboBox cb = e.Control as ComboBox; if (cb != null){DataTable dt = DBServiceHelper.businessDbHelper.Fill(UserInfo, " select cast(0 as varchar(200)) as code ,'' as Name UNION ALL select a.code,a.Name from tequip_ini a "+" left join CardPosItem b on a.PosItem=b.id where a.equip_type in(1,6) and b.id= " + this.GrdReadRecord2.CurrentRow.Cells["ColPostItemID"].Value.ToString()); cb.DataSource = dt;if (dt != null && dt.Rows.Count > 0)cb.SelectedIndex = 0;}}}catch (Exception ex){ListBoxAdd(lHint2, "异常:" + ex.Message.ToString());}}
值得注意的是:
每一行单元格绑定的数据必须要存在列的Item内,即是在EditingControlShowing前要先设置DataPropertyName、DisplayMember、ValueMember、DataSource,EditingControlShowing查出的数据必须是DataSource的子集。不然就会认为是错误值,报错。
获取选取值:
获取ValueMember:GrdReadRecord2.Rows[e.RowIndex].Cells[5].Value.ToString();
获取DisplayMember:GrdReadRecord2.Rows[e.RowIndex].Cells[5].EditedFormattedValue.ToString();
转载于:https://www.cnblogs.com/qi123/p/8972147.html
控件:DataGridView列类型相关推荐
- 请谨慎设置WinForm控件DataGridView列的AutoSizeMode属性
在WinForm控件DataGridView中编辑列时,请谨慎设置AutoSizeMode属性,当该属性值不为NotSet或None时,比如DataGridView显示的数据达到上万级别时,将导致严重 ...
- winform datagridview控件设置列标题字体大小无效问题
在datagridview控件的columnHeadersDefaultCellStyle属性中设置列标题字体样式后,非运行时看有效,运行时则无效,主要是因为datagridview控件放在panel ...
- asp.net GridView控件的列属性
BoundField 默认的数据绑定类型,通常用于显示普通文本 CheckBoxField 显示布尔类型的数据.绑定数据为TRUE时,复选框数据绑定列为选中状态:绑定数据为FALSE时,则显示未选中状 ...
- ASP.NET基础教程-DataGrid表格控件-模板列的使用
一.给表格添加一个模板列,在查板列中添加一个文本框,文本框名字为"txt" 1.对文本框进行赋值: ((TextBox)DataGrid.Items[0].Cells[0].Fin ...
- 获取repeater控件模版列中的控件
直接用repeater.Findcontrol是获取不到子控件的,因为子空间实际是在ItemTemplate中的,翻译一个评论: if(Roles.IsUserInRole("admin&q ...
- 动态合并Repeater控件数据列
前天Insus.NET实现<动态合并GridView数据行DataRow的列>.今天再玩玩Repeater控件,功能也是动态合并某列栏位. Repeater控件跟GridView控件一样集 ...
- winform 中listBox控件绑定list类型数据源,并设置DisplayMember
在WinForm中,您可以将ListBox控件绑定到List类型的数据源.为此,您需要将List数据源设置为ListBox的DataSource属性,然后设置ListBox的DisplayMember ...
- Windows Media Player控件及url类型异常
初级问题: 我的那个定时提醒程序中要用到它,初步使用问题已解决.基本使用步骤如下: 一.往控件箱中添加此控件:wmp.dll 二.往窗体上拖控件 三.wmp.URL=XXXX;wmp.play()即可 ...
- .net控件开发之类型转换器
向"属性"窗口提供标准值列表的类型转换器 像省份这样的属性,为了方便用户填写,我们往往做成下拉框形式,一个省份里面又有城市,我们往往列出一部分,如果其中数据不符合用户要求的话,用户 ...
最新文章
- 如何在推送后压缩git中的提交?
- eeglab中文教程系列(18)-自己创建电极位置以及电极位置文件
- 再严重的感冒,马上就好!!
- linux下使用cat打开文件乱码
- phpcms文件结构
- [家里蹲大学数学杂志]第413期插值不等式
- 在python中、关于全局变量和局部变量、以下_关于全局变量和局部变量-Python
- nandflash移植程序_韦东山鸿蒙移植01-移植RTOS需要做的事
- autofs后 卸载_autofs自动挂载
- 网狐荣耀手机端内核源码
- C++实现简易五子棋游戏
- 屏幕中间html滚动字幕,Gom引擎屏幕中间滚动大字及屏幕其他信息滚动条脚本实例...
- 未明学院:都知道智商、情商、逆商,可你知道“搜商”吗?
- Dubbo线程池耗尽原理分析Thread pool is EXHAUSTED
- python古诗代码案例_一行代码竟然如此逆天?小码王python案例首次对外展现!
- 赛前采访里皮表示:希望队员用真心踢球。
- HttpClient设置HTTP请求头Header
- 485通讯的校验和_组态王与西门子S71200PLC无线Modbus通讯
- BFS算法之地铁路线问题
- js获取当前日期所在的周一到周日的日期,以及星期几
热门文章
- 新版本到来之前,先来看看 Ubuntu 默认主题的变化吧
- 关于小白(我)理解Spring的一些注解
- es6 class语法糖
- 步步惊芯 软核处理器的内部设计分析 pdf_【深度分析】互联网巨头造“芯”现状...
- string 转 json_手写Json解析器学习心得
- python矩阵行数_python查看矩阵的行列号以及维数方式
- 金蝶kis仓库管理系统演示_金蝶KIS专业版生产管理的系统亮点功能
- php多应用,thinkphp6开启多应用模式
- 修改sql服务器排序规则,SQL SERVER数据库服务器排序规则修改
- java jmstemplate_Java JmsTemplate.setReceiveTimeout方法代码示例