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 ...
随机推荐
- python基础-json
import json # 准备列表,列表内每一个元素都是字典,将其转为JSON date = [{"name": "张大帅", "age" ...
- NXP i.MX 8M Mini视频开发案例分享 (上)
本文主要介绍i.MX 8M Mini的视频开发案例,包含基于GStreamer的视频采集.编解码.算法处理.显示以及存储案例,GigE工业相机测试说明,H.265视频硬件解码功能演示说明等. 注:本案 ...
- 继续我们的复习之路——webapi
前面断更几天是因为在住安心复习DOM BOM的内容 不得不说 还得是DOM 在这一章节的复习内容中 涌现出了很多又代表意义 经典的一些小案例 而且 还是有些难度的 有一两个我反正是自己独立完成不了 ...
- IIS部署错误HTTP Error 500.36 ASP.NET Core IIS hosting failure(out-of-process)
错误提示 HTTP Error 500.36 - ASP.NET Core IIS hosting failure (out-of-process) The out of process reques ...
- Qt 学习笔记 - 第四章 - Qt的三驾马车之 - 网络编程
Qt 学习笔记全系列传送门: Qt 学习笔记 - 第一章 - 快速开始.信号与槽 Qt 学习笔记 - 第二章 - 添加图片.布局.界面切换 Qt 学习笔记 - 第三章 - Qt的三驾马车之一 - 串口 ...
- PS工具的基本使用
常见的图片格式: 切片工具的使用 1.用切片选中图片 2.导出切片 3.切片悬着工具 可以选择指定 切片框 删除. 点击图层 切图 清除切片 基于参考线的切片 切图插件Cutterman
- ES6拼接数组与小程序本地存储
拼接数组 ES6扩展运算符[三个点(...)将一个数组转为用逗号分隔的参数序列] goodsList: [...goodsList, ...goods] 本地存储 // 把接口数据存入本地存储中 wx ...
- node sass
registry=https://registry.npmmirror.com/ sass_binary_site=https://cdn.npmmirror.com/mirrors/node-sas ...
- 基于微信小程序+Springboot校园二手商城系统设计和实现
\n文末获取源码联系 感兴趣的可以先收藏起来,大家在毕设选题,项目以及论文编写等相关问题都可以给我加好友咨询 一. 前言介绍: 在当今社会的高速发展过程中,产生的劳动力越来越大,提高人们的生活水平和质 ...
- oeasy教您玩转vim - 88 - # 自动命令autocmd
自动命令 autocommand 回忆 上次我们研究的是外部命令grep 可以在vim中使用grep 搜索的结果进入了列表 可以打开.遍历.跳转.关闭这个列表 也可以给列表中的匹配行或者每个文件执 ...