Devexpress GridControl下拉框实现联动
实现效果

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下拉框实现联动的更多相关文章
- DevExpress gridview下拉框的再次研究
原文:DevExpress gridview下拉框的再次研究 前几天写了一篇关于研究DevExpress gridview下拉框的随笔(DevExpress gridview下拉框repository ...
- DevExpress的下拉框控件ComboxBoxEdit怎样绑定键值对选项
场景 DevExpress的下拉框控件ComboBoxEdit控件的使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1028 ...
- DevExpress的下拉框控件ComboBoxEdit控件的使用
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- DevExpress GridControl 中下拉框联动效果的实现(及支持文本框录入情况)
先解释一下标题: grid中的某一列默认为文本框,根据需要动态的变更为下拉框,且支持动态变更数据源 需求是这样的: 有一些参数(A),这些参数又分别对应另外的参数(B),所以,先把A作为一列,B根据A ...
- ASP.NET——实现两个下拉框动态联动
引入: 在网页中,我们经常会遇到下图中的情况.首先在下拉框中选择所在的省,选择之后,第二个下拉框会自动加载出该省中的市.这样设计极大的方便了用户的查找.那这是如何实现的呢? 1.建立数据库 " ...
- DevExpress的下拉框控件LookUpEdit的使用、添加item选项值、修改默认显示值
场景 Winform控件-DevExpress18下载安装注册以及在VS中使用: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/1 ...
- C# MVC LayUI实现下拉框二级联动
一.layui.use 1.LayUI的官方使用文档:https://www.layui.com/doc/ 2.layui的内置模块不是默认就加载好的,必须要执行启动模块的这种方法后模块才会加载: 3 ...
- asp 下拉框二级联动
<script language = "JavaScript"> //js开始 var aaa;//定义aaa变量 aaa=0;//aaa赋0 bb = new Arr ...
- 通过创建元素从而实现三个下拉框的联动效果(create.Element("option"))和提交表单时的验证p.match("请选择")
<html> <head> <meta charset="utf-8"> <title>下拉框</title> < ...
- DevExpress LookUpEdit 下拉框基本操作
<span style="font-size:14px;"> ArrayList list = new ArrayList(); //遍历皮肤,放到列表中 foreac ...
随机推荐
- QT学习:02 界面布局管理
--- title: framework-cpp-qt-02-界面布局管理 EntryName: framework-cpp-qt-02-ui-layout-manage date: 2020-04- ...
- get基于报错的sql注入
get基于报错的sql注入发现 Less1: sqli-labs第一关提示说在网页上输入id,也就是?id=1. 但这个?是什么意思,它表示index.php?也就是默认页面.然后?id=1就是把id ...
- 嵌入式知识分享——GDB程序调试方法说明
前 言 本指导文档适用开发环境: Windows开发环境:Windows 7 64bit.Windows 10 64bit Linux开发环境:Ubuntu 18.04.4 64bit 虚拟机:VM ...
- 如何把自己项目中的jar包部署或pom部署到私服Nexus【实践可行版】
如何把自己项目中的jar包部署到私服 1.在项目的pom.xml文件中加入私服地址: <distributionManagement> <snapshotRepository> ...
- [oeasy]python0137_相加运算_python之禅_import_this_显式转化
变量类型 相加运算 回忆上次内容 上次讲了是从键盘输入变量 input 函数 可以有提示字符串 需要有具体的变量接收输入的字符串 输入单个变量没有问题 但是输入两个变量之后 一相加就非常离谱 ...
- oeasy 教您玩转 linux 010400 总结 summary
###### 上一部分我们都讲了什么?* 各种gui* qt和gdk两个开源工具跨平台开发库* 发行版和gui之间的关系###### 我们一起来回顾一下整个学习过程* 我们从零开始* ...
- 彻底理解Linux的DISPLAY变量的作用
背景 最近遇到个两年前遇到的问题,使用virt-manager提示(virt-manager:873): Gtk-WARNING **: 14:53:28.147: cannot open displ ...
- 那些血淋淋的教训——math
1. 方程的解要写 x= 2023.12.10 晚上周测填空题第 \(2\) 题,方程的解写成了 \(7\) 而不是 \(x=7\). 2. 分类讨论 选填的最后一题. 3. 去绝对值看清楚符号(某个 ...
- 前缀函数及 Knuth–Morris–Pratt 算法学习笔记
\(\text{1 引言 Preface}\) 对于形如以下的问题: 给予一个模式串 \(T\) 和主串 \(S\),在主串中寻找 \(T\). 我们称之为字符串匹配. 很显然朴素算法时间复杂度是 \ ...
- RHCA cl210 016 流表 overlay
Overlay网络是建立在Underlay网络上的逻辑网络 underlay br-int 之间建立隧道 数据流量还是从eth1出去 只有vlan20 是geneve隧道.只有租户网络有子网,子网需要 ...