实现效果

1.先在设计界面绑定数据列

1.点击设计器



2.绑定数据列

2. 绑定GridView的 FocusedRowChanged事件


//定义两个下拉框 _RIcmbtype:不良分类 _RIcmbdefect:不良信息
RepositoryItemComboBox _RIcmbtype = new RepositoryItemComboBox();
//设置下拉框的字体样式
_RIcmbtype.AppearanceDropDown.Font = new Font("Tahoma", 11);
_RIcmbtype.AppearanceDropDown.Options.UseFont = true;
RepositoryItemComboBox _RIcmbdefect = new RepositoryItemComboBox(); private void gvmain_FocusedRowChanged(object sender, DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs e)
{
if (gvmain.FocusedRowHandle >= 0)
{
_RIcmbtype.Items.Clear(); if (typeInfos.Count > 1)
{
foreach (var key in typeInfos)
{
_RIcmbtype.Items.Add(new ComboBoxItem(key.bug_typename));
}
} gvmain.Columns.ColumnByName("colbug_typename").ColumnEdit = _RIcmbtype; // 为第一列的下拉框添加EditValueChanged事件处理程序
_RIcmbtype.EditValueChanged += _RIcmbtype_EditValueChanged;
_RIcmbdefect.EditValueChanged += _RIcmbdefect_EditValueChanged;
}
}

3. 绑定下拉框的EditValueChanged事件


private void _RIcmbtype_EditValueChanged(object sender, EventArgs e)
{
// 获取当前行的索引
int rowIndex = gvmain.FocusedRowHandle;
if (rowIndex >= 0)
{
var s = (DevExpress.XtraEditors.ComboBoxEdit)sender; // 获取当前选中的值
string selectedValue = s.EditValue.ToString(); // gvmain.GetRowCellValue(rowIndex, "列名") 这种方法是获取不到选中的值的,原因是选择了,但是实际还未渲染到数据上去就触发了这个事件; //获取被选中的类型并给所在行赋值 PS:下面4行代码为业务代码 不用看
var type = typeInfos.First(a => a.bug_typename == selectedValue);
dataInfo[rowIndex].bug_typeid = type.bug_id;
dataInfo[rowIndex].bug_typecode = type.bug_typecode;
dataInfo[rowIndex].bug_typename = type.bug_typename;
//通过选择的下拉框的值来获取第二个下拉框的数据
var list = defectInfos.Where(a => a.bug_typename == selectedValue).ToList();
_RIcmbdefect.Items.Clear();
foreach (var key in list)
{
_RIcmbdefect.Items.Add(new ComboBoxItem(key.bug_describe));
}
//设置列的ColumnEdit 为下拉框
gvmain.Columns.ColumnByName("colbug_describe").ColumnEdit = _RIcmbdefect; // 刷新第二列以显示新的下拉选项
gvmain.InvalidateRow(rowIndex);
}
}

Devexpress GridControl下拉框实现联动的更多相关文章

  1. DevExpress gridview下拉框的再次研究

    原文:DevExpress gridview下拉框的再次研究 前几天写了一篇关于研究DevExpress gridview下拉框的随笔(DevExpress gridview下拉框repository ...

  2. DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项

    场景 DevExpress的下拉框控件ComboBoxEdit控件的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1028 ...

  3. DevExpress的下拉框控件ComboBoxEdit控件的使用

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  4. DevExpress GridControl 中下拉框联动效果的实现(及支持文本框录入情况)

    先解释一下标题: grid中的某一列默认为文本框,根据需要动态的变更为下拉框,且支持动态变更数据源 需求是这样的: 有一些参数(A),这些参数又分别对应另外的参数(B),所以,先把A作为一列,B根据A ...

  5. ASP.NET——实现两个下拉框动态联动

    引入: 在网页中,我们经常会遇到下图中的情况.首先在下拉框中选择所在的省,选择之后,第二个下拉框会自动加载出该省中的市.这样设计极大的方便了用户的查找.那这是如何实现的呢? 1.建立数据库 " ...

  6. DevExpress的下拉框控件LookUpEdit的使用、添加item选项值、修改默认显示值

    场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...

  7. C# MVC LayUI实现下拉框二级联动

    一.layui.use 1.LayUI的官方使用文档:https://www.layui.com/doc/ 2.layui的内置模块不是默认就加载好的,必须要执行启动模块的这种方法后模块才会加载: 3 ...

  8. asp 下拉框二级联动

    <script language = "JavaScript"> //js开始 var aaa;//定义aaa变量 aaa=0;//aaa赋0 bb = new Arr ...

  9. 通过创建元素从而实现三个下拉框的联动效果(create.Element("option"))和提交表单时的验证p.match("请选择")

    <html> <head> <meta charset="utf-8"> <title>下拉框</title> < ...

  10. DevExpress LookUpEdit 下拉框基本操作

    <span style="font-size:14px;"> ArrayList list = new ArrayList(); //遍历皮肤,放到列表中 foreac ...

随机推荐

  1. 创建docker

    创建docker 准备实验环境 1. 安装前准备 Centos7 Linux 内核:官方建议 3.10 以上,3.8以上貌似也可. 1.1 查看当前的内核版本 uname -r 1.2 使用 root ...

  2. 升级到 MySQL 8.4,MySQL 启动报错:io_setup() failed with EAGAIN

    问题 最近碰到一个 case,一台主机上,部署了多个实例.之前使用的是 MySQL 8.0,启动时没有任何问题.但升级到 MySQL 8.4 后,部分实例在启动时出现了以下错误. [Warning]  ...

  3. 3.8折钜惠,瑞芯微RK3568J国产工业评估板“限时折扣”!

  4. ROS让机器人开发更便捷,基于RK3568J+Debian系统发布!

    ROS系统是什么 ROS(Robot Operating System)是一个适用于机器人的开源的元操作系统.它提供了操作系统应有的服务,包括硬件抽象,底层设备控制,常用函数的实现,进程间消息传递,以 ...

  5. podman安装mysql容器

    前言 mysql如果正式安装,卸载起来比较麻烦.如果是自己测试用的话,可以用podman拉取一个镜像来使用. 这里使用的是mysql5.7版本,对应的docker镜像是mysql:5.7 (如果拉取较 ...

  6. Spring5.X bean自动装配Autowire属性

    属性注入 set方法.构造函数.POJO.list.map.ref,属于手工注入,点我直达 Spring自动注入 使用<bean>元素的autowire属性为一个bean定义指定自动装配模 ...

  7. [oeasy]python0120_英语的崛起_英文字符_小写字母的由来_不列颠帝国

    各语言字符编码 回忆上次内容 罗马 承袭了 希腊的文化 学习了 希腊的字符   拥有 罗马帝国的战力 基督教文化的影响     ​   添加图片注释,不超过 140 字(可选)   这个时候 不列颠 ...

  8. 服务端渲染中的数据获取:结合 useRequestHeaders 与 useFetch

    title: 服务端渲染中的数据获取:结合 useRequestHeaders 与 useFetch date: 2024/7/24 updated: 2024/7/24 author: cmdrag ...

  9. Spectre.Console.Cli注入服务的几种姿势

    Spectre.Console大家可能都不陌生,写控制台程序美化还是不错的,支持着色,表格,图标等相当nice,如果对这个库不熟悉我强烈推荐你了解一下,对于写一些CLI小工具还是相当方便的, 本文主要 ...

  10. 图解翻转单向链表,超详细(python语言实现)

    节点类: 1 class ListNode(object): 2 def __init__(self, x): 3 self.val = x 4 slef.next = None 反转单向链表的函数如 ...