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列类型相关推荐

  1. 请谨慎设置WinForm控件DataGridView列的AutoSizeMode属性

    在WinForm控件DataGridView中编辑列时,请谨慎设置AutoSizeMode属性,当该属性值不为NotSet或None时,比如DataGridView显示的数据达到上万级别时,将导致严重 ...

  2. winform datagridview控件设置列标题字体大小无效问题

    在datagridview控件的columnHeadersDefaultCellStyle属性中设置列标题字体样式后,非运行时看有效,运行时则无效,主要是因为datagridview控件放在panel ...

  3. asp.net GridView控件的列属性

    BoundField 默认的数据绑定类型,通常用于显示普通文本 CheckBoxField 显示布尔类型的数据.绑定数据为TRUE时,复选框数据绑定列为选中状态:绑定数据为FALSE时,则显示未选中状 ...

  4. ASP.NET基础教程-DataGrid表格控件-模板列的使用

    一.给表格添加一个模板列,在查板列中添加一个文本框,文本框名字为"txt" 1.对文本框进行赋值: ((TextBox)DataGrid.Items[0].Cells[0].Fin ...

  5. 获取repeater控件模版列中的控件

    直接用repeater.Findcontrol是获取不到子控件的,因为子空间实际是在ItemTemplate中的,翻译一个评论: if(Roles.IsUserInRole("admin&q ...

  6. 动态合并Repeater控件数据列

    前天Insus.NET实现<动态合并GridView数据行DataRow的列>.今天再玩玩Repeater控件,功能也是动态合并某列栏位. Repeater控件跟GridView控件一样集 ...

  7. winform 中listBox控件绑定list类型数据源,并设置DisplayMember

    在WinForm中,您可以将ListBox控件绑定到List类型的数据源.为此,您需要将List数据源设置为ListBox的DataSource属性,然后设置ListBox的DisplayMember ...

  8. Windows Media Player控件及url类型异常

    初级问题: 我的那个定时提醒程序中要用到它,初步使用问题已解决.基本使用步骤如下: 一.往控件箱中添加此控件:wmp.dll 二.往窗体上拖控件 三.wmp.URL=XXXX;wmp.play()即可 ...

  9. .net控件开发之类型转换器

    向"属性"窗口提供标准值列表的类型转换器 像省份这样的属性,为了方便用户填写,我们往往做成下拉框形式,一个省份里面又有城市,我们往往列出一部分,如果其中数据不符合用户要求的话,用户 ...

最新文章

  1. 如何在推送后压缩git中的提交?
  2. eeglab中文教程系列(18)-自己创建电极位置以及电极位置文件
  3. 再严重的感冒,马上就好!!
  4. linux下使用cat打开文件乱码
  5. phpcms文件结构
  6. [家里蹲大学数学杂志]第413期插值不等式
  7. 在python中、关于全局变量和局部变量、以下_关于全局变量和局部变量-Python
  8. nandflash移植程序_韦东山鸿蒙移植01-移植RTOS需要做的事
  9. autofs后 卸载_autofs自动挂载
  10. 网狐荣耀手机端内核源码
  11. C++实现简易五子棋游戏
  12. 屏幕中间html滚动字幕,Gom引擎屏幕中间滚动大字及屏幕其他信息滚动条脚本实例...
  13. 未明学院:都知道智商、情商、逆商,可你知道“搜商”吗?
  14. Dubbo线程池耗尽原理分析Thread pool is EXHAUSTED
  15. python古诗代码案例_一行代码竟然如此逆天?小码王python案例首次对外展现!
  16. 赛前采访里皮表示:希望队员用真心踢球。
  17. HttpClient设置HTTP请求头Header
  18. 485通讯的校验和_组态王与西门子S71200PLC无线Modbus通讯
  19. BFS算法之地铁路线问题
  20. js获取当前日期所在的周一到周日的日期,以及星期几

热门文章

  1. 新版本到来之前,先来看看 Ubuntu 默认主题的变化吧
  2. 关于小白(我)理解Spring的一些注解
  3. es6 class语法糖
  4. 步步惊芯 软核处理器的内部设计分析 pdf_【深度分析】互联网巨头造“芯”现状...
  5. string 转 json_手写Json解析器学习心得
  6. python矩阵行数_python查看矩阵的行列号以及维数方式
  7. 金蝶kis仓库管理系统演示_金蝶KIS专业版生产管理的系统亮点功能
  8. php多应用,thinkphp6开启多应用模式
  9. 修改sql服务器排序规则,SQL SERVER数据库服务器排序规则修改
  10. java jmstemplate_Java JmsTemplate.setReceiveTimeout方法代码示例