Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit 进行级联选择
来源:互联网 发布:手机必备软件下载 编辑:程序博客网 时间:2024/06/05 03:47
上一篇点击打开链接中描述了如何在GridControl中增加一个GridLookUpEdit列,这篇文章将要描述如何在它单元格数据之间进行级联选择。
为GridControl增加一个颜色列,根据不同尺寸的大小来切换选择不同的颜色。效果图如下:
为TestModel类增加ColorId属性:
public int ColorId { get; set; }
定义名为ColorClass的类:
public class ColorClass { public int Id { get; set; } public string ColorName { get; set; } }
定义2个返回IEnumeable<ColorClass> 集合的方法:
/// <summary> /// 小号对应的可选颜色 /// </summary> public static IEnumerable<ColorClass> GenerateColorList1() { yield return new ColorClass() { Id = 1, ColorName = "红色" }; yield return new ColorClass() { Id = 2, ColorName = "蓝色" }; } /// <summary> /// 中号,大号对应的可选颜色 /// </summary> public static IEnumerable<ColorClass> GenerateColorList2() { yield return new ColorClass() { Id = 3, ColorName = "白色" }; yield return new ColorClass() { Id = 4, ColorName = "黑色" }; }再增加一个表示颜色的GridColumn:
this.gv.Columns.Add(gcSizeType); // 尺寸选择改变,清空gcColorType列显示 riglup.EditValueChanged += (m, n) => { this.gv.SetFocusedRowCellValue("ColorId", 0); }; // 颜色类型 GridLookUpEdit RepositoryItemGridLookUpEdit riglupcolor1 = new RepositoryItemGridLookUpEdit(); riglupcolor1.DisplayMember = "ColorName"; riglupcolor1.ValueMember = "Id"; RepositoryItemGridLookUpEdit riglupcolor2 = new RepositoryItemGridLookUpEdit(); riglupcolor2.DisplayMember = "ColorName"; riglupcolor2.ValueMember = "Id"; // 为riglupcolor1/riglupcolor2 增加2列 GridColumn riglupcolor1Id = riglupcolor1.View.Columns.AddField("Id"); riglupcolor1Id.Caption = "编号"; riglupcolor1Id.VisibleIndex = 0; riglupcolor1Id.Width = 30; GridColumn riglupcolor1Name = riglupcolor1.View.Columns.AddField("ColorName"); riglupcolor1Name.Caption = "名称"; riglupcolor1Name.VisibleIndex = 1; riglupcolor1Name.Width = 30; GridColumn riglupcolor2Id = riglupcolor2.View.Columns.AddField("Id"); riglupcolor2Id.Caption = "编号"; riglupcolor2Id.VisibleIndex = 0; riglupcolor2Id.Width = 30; GridColumn riglupcolor2Name = riglupcolor2.View.Columns.AddField("ColorName"); riglupcolor2Name.Caption = "名称"; riglupcolor2Name.VisibleIndex = 1; riglupcolor2Name.Width = 30; // 添加到riglupcolor1/riglupcolor2的Columns集合 riglupcolor1.View.Columns.Add(riglupcolor1Id); riglupcolor1.View.Columns.Add(riglupcolor1Name); riglupcolor2.View.Columns.Add(riglupcolor2Id); riglupcolor2.View.Columns.Add(riglupcolor2Name); //定义颜色列 GridColumn gcColorType = gv.Columns.AddField("ColorId"); gcColorType.Caption = "颜色"; gcColorType.VisibleIndex = 3; gv.Columns.Add(gcColorType); // 自定义单元格编辑事件 gv.CustomRowCellEdit += (s, e1) => { if (e1.Column.FieldName == "ColorId" && e1.RowHandle >= 0) { // 获取尺寸类型 string sizeTypeId = gv.GetRowCellValue(e1.RowHandle, "SizeTypeId").ToString(); RepositoryItemGridLookUpEdit riglu = gcSizeType.ColumnEdit as RepositoryItemGridLookUpEdit; DataRow dr = (riglu.DataSource as DataTable).Select($" Id = {sizeTypeId}").SingleOrDefault(); string name = dr?["Name"].ToString(); // 根据尺寸类型显示不同的颜色 if (name == "小号") { riglupcolor1.DataSource = DataHelper.GenerateColorList1().ToList(); e1.RepositoryItem = riglupcolor1; } else { riglupcolor2.DataSource = DataHelper.GenerateColorList2().ToList(); e1.RepositoryItem = riglupcolor2; } } }; this.gc.DataSource = list;
代码中的DataHelper类为一个包含GenerateColorList1与GenerateColorList2方法的静态类。总结:掌握常用的几种RepositoryItem类型的用法,这种级联效果很容易能做的出来,不过需要花费大量的时间去官网上查询。
阅读全文
0 0
- Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit 进行级联选择
- Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit
- Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit【转】
- Devexpress:在GridControl中使用BindingList
- Devexpress:在GridControl中使用GridFormatRule改变行/单元格样式
- DevExpress.GridControl使用备忘
- DevExpress GridControl的使用
- DevExpress GridControl使用
- DevExpress GridControl使用
- DevExpress GridControl使用
- DevExpress GridControl 使用2
- DevExpress GridControl使用
- DevExpress gridcontrol使用心得
- DevExpress GridControl使用总结
- DevExpress GridControl使用
- DevExpress GridControl使用
- DevExpress GridControl使用
- 在devexpress的gridcontrol控件中加入行号
- lua词法分析原理介绍
- IDEA 包导入了,但依然提示找不到
- HDU4612 Warm up (tarjan)
- Saltstack批量安装部署Zabbix代理(附zabbix自动注册详解)
- INSERT 语句与 FOREIGN KEY 约束"XXX"冲突。该冲突发生于数据库"XXX",表"XXX", column 'XXX。
- Devexpress:在GridControl中使用RepositoryItemGridLookUpEdit 进行级联选择
- js的Date类型的变量需要注意之处
- 重定向问题浅析
- 多媒体应用之控制相机
- 渊子赛马(计蒜客)
- git revert和git reset区别
- static 在函数中使用的注意事项
- 李嘉诚终究还是跑了,资本家究竟有没有祖国?
- android apk安装过程源码解析