使用DataBinderTools工具类绑定下拉LookupEdit组件数据源
使用DataBinderTools工具类绑定下拉LookupEdit组件数据源
DataBinderTools工具类
用于绑定下拉数据源的工具类,封装一系列方法,在Form的Load事件内绑定下拉组件的数据源。
命名空间:CSFrameworkV5.Library.CommonClass.DataBinderTools
参考例子
1. 绑定表格单元格中用户下拉数据源(RepositoryItemLookUpEdit)
使用方法:
C# Code:
//绑定表格中下拉框RepositoryItemLookUpEdit
DataBinderTools.BoundUser(lueUser);
DataBinderTools.BoundUser(lueUser);
C# Code:
/// <summary>
/// 绑定表格单元格中用户下拉数据源,tb_MyUser表
/// </summary>
/// <param name="lue"></param>
[CG_LookupDataBoundAttribute("绑定用户资料", CG_EditorType.RepositoryItemEditor)]
public static void BoundUser(RepositoryItemLookUpEdit lue)
{
lue.Columns.Clear();
InitializeControl(lue, new string[] { "姓名" }, new string[] { tb_MyUser.UserName });
lue.DropDownRows = 25;
DataTable dt = DataDictCache.Cache.User;//数据源
DataBinder.BindingLookupEditDataSource(lue, dt, tb_MyUser.UserName, tb_MyUser.Account);
SetDropDownRows(lue);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 绑定表格单元格中用户下拉数据源,tb_MyUser表
/// </summary>
/// <param name="lue"></param>
[CG_LookupDataBoundAttribute("绑定用户资料", CG_EditorType.RepositoryItemEditor)]
public static void BoundUser(RepositoryItemLookUpEdit lue)
{
lue.Columns.Clear();
InitializeControl(lue, new string[] { "姓名" }, new string[] { tb_MyUser.UserName });
lue.DropDownRows = 25;
DataTable dt = DataDictCache.Cache.User;//数据源
DataBinder.BindingLookupEditDataSource(lue, dt, tb_MyUser.UserName, tb_MyUser.Account);
SetDropDownRows(lue);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

2. 绑定界面的用户下拉数据源(LookUpEdit)
使用方法:
C# Code:
//绑定标准文本下拉框LookUpEdit
DataBinderTools.BoundUser(txtCreatedBy);
DataBinderTools.BoundUser(txtCreatedBy);
C# Code:
/// <summary>
/// 绑定用户下拉数据源,tb_MyUser表
/// </summary>
/// <param name="lue"></param>
[CG_LookupDataBoundAttribute("绑定用户资料", CG_EditorType.NormalEditor)]
public static void BoundUser(LookUpEdit lue)
{
lue.Properties.NullText = "";
lue.Properties.DropDownRows = 15;
InitializeControl(lue, new string[] { "帐号", "姓名" }, new string[] { tb_MyUser.Account, tb_MyUser.UserName });
lue.Properties.Columns[0].Width = 60;
lue.Properties.Columns[1].Width = 140;
lue.Properties.PopupWidth = 200;
DataTable dt = DataDictCache.Cache.User;//数据源
DataBinder.BindingLookupEditDataSource(lue, dt, tb_MyUser.UserName, tb_MyUser.Account);
SetDropDownRows(lue);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 绑定用户下拉数据源,tb_MyUser表
/// </summary>
/// <param name="lue"></param>
[CG_LookupDataBoundAttribute("绑定用户资料", CG_EditorType.NormalEditor)]
public static void BoundUser(LookUpEdit lue)
{
lue.Properties.NullText = "";
lue.Properties.DropDownRows = 15;
InitializeControl(lue, new string[] { "帐号", "姓名" }, new string[] { tb_MyUser.Account, tb_MyUser.UserName });
lue.Properties.Columns[0].Width = 60;
lue.Properties.Columns[1].Width = 140;
lue.Properties.PopupWidth = 200;
DataTable dt = DataDictCache.Cache.User;//数据源
DataBinder.BindingLookupEditDataSource(lue, dt, tb_MyUser.UserName, tb_MyUser.Account);
SetDropDownRows(lue);
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

CG_LookupDataBoundAttribute类:
用于定义DataBinderTools类的方法能绑定LookupEdit组件的数据源,应用于CSFramework代码生成器。
命名空间:CSFrameworkV5.CodeGeneratorCore.CG_LookupDataBoundAttribute
定义了CG_LookupDataBoundAttribute特性的方法,在代码生成器工具中,可以给LookupEdit组件选择一个绑定方法,没有定义此特性的方法,不会出现在列表中,如下图所示:

在CSFramework代码生成器中,给当前字段对应的组件选择一个绑定方法,代码生成器会在InitializeForm方法内自动生成一行代码,如下面的BoundUser:

DataBinderTools类BoundUser方法的特性定义:
C# Code:
[CG_LookupDataBoundAttribute("绑定用户资料", CG_EditorType.NormalEditor)]
public static void BoundUser(LookUpEdit lue)
{
//省略....
}
public static void BoundUser(LookUpEdit lue)
{
//省略....
}
C# Code:
/// <summary>
/// 应用于代码生成器, 用于绑定LookupEdit组件的方法
/// </summary>
public class CG_LookupDataBoundAttribute : Attribute
{
private string _BoundName = string.Empty;
private CG_EditorType _EditorType = CG_EditorType.All;
public CG_LookupDataBoundAttribute(string boundName, CG_EditorType editorType)
{
this.BoundName = boundName;
this.EditorType = editorType;
}
/// <summary>
/// 绑定组件的名称
/// </summary>
public string BoundName { get { return _BoundName; } set { _BoundName = value; } }
/// <summary>
/// 绑定类型
/// </summary>
public CG_EditorType EditorType { get { return _EditorType; } set { _EditorType = value; } }
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// 应用于代码生成器, 用于绑定LookupEdit组件的方法
/// </summary>
public class CG_LookupDataBoundAttribute : Attribute
{
private string _BoundName = string.Empty;
private CG_EditorType _EditorType = CG_EditorType.All;
public CG_LookupDataBoundAttribute(string boundName, CG_EditorType editorType)
{
this.BoundName = boundName;
this.EditorType = editorType;
}
/// <summary>
/// 绑定组件的名称
/// </summary>
public string BoundName { get { return _BoundName; } set { _BoundName = value; } }
/// <summary>
/// 绑定类型
/// </summary>
public CG_EditorType EditorType { get { return _EditorType; } set { _EditorType = value; } }
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
CG_EditorType枚举类型:
DevExpress部分Editor组件支持两种界面呈现方式,标准的Editor,以及表格单元格内置的Editor。
C# Code:
/// <summary>
/// Editor组件类型, DevExpress部分组件支持两种类型
/// </summary>
public enum CG_EditorType
{
/// <summary>
/// 生成所有类型的Edit组件
/// </summary>
All = 0,
/// <summary>
/// 标准Editor,能拖放在Panel容器内
/// </summary>
NormalEditor = 1,
/// <summary>
/// 表格中内置的Editor
/// </summary>
RepositoryItemEditor = 2
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761
/// Editor组件类型, DevExpress部分组件支持两种类型
/// </summary>
public enum CG_EditorType
{
/// <summary>
/// 生成所有类型的Edit组件
/// </summary>
All = 0,
/// <summary>
/// 标准Editor,能拖放在Panel容器内
/// </summary>
NormalEditor = 1,
/// <summary>
/// 表格中内置的Editor
/// </summary>
RepositoryItemEditor = 2
}
//来源:C/S框架网 | www.csframework.com | QQ:23404761

参考文档:
C# DevExpress高级篇 | GridLookUpEdit组件使用|C/S开发框架
C# DevExpress教学 GridLookUpEdit组件表格下拉组件使用|C/S开发框架
取LookupEdit组件数据源当前资料行某字段的值
手工绑定某个下拉数据窗口(LookUpEdit)的数据源
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
使用观察者模式实时更新程序打开多个界面绑定组件的数据源
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
C/S结构快速开发框架使用的DevExpress常用组件|C/S开发框架
Winform软件开发框架使用DevExpress组件有那些优势?|软件平台
【原创】C# Dev用户自定义组件,自动下拉弹框表格过滤数据组件ucMyLookUpEdit
C/S结构快速开发框架使用的DevExpress常用组件
关于SetEditorBindingValue方法的使用
使用[后台数据更新模型]保存主从表数据(C#源码)
详解DevExpress.LookUpEdit控件实现自动搜索定位功能
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
C# DevExpress高级篇 | GridLookUpEdit组件使用|C/S开发框架
C# DevExpress教学 GridLookUpEdit组件表格下拉组件使用|C/S开发框架
取LookupEdit组件数据源当前资料行某字段的值
手工绑定某个下拉数据窗口(LookUpEdit)的数据源
CSFrameworkV6 - Winform开发框架 - GetLookupData方法使用
使用观察者模式实时更新程序打开多个界面绑定组件的数据源
详解DevExpress.LookUpEdit控件实现自动搜索定位功能|C/S开发框架
C/S结构快速开发框架使用的DevExpress常用组件|C/S开发框架
Winform软件开发框架使用DevExpress组件有那些优势?|软件平台
【原创】C# Dev用户自定义组件,自动下拉弹框表格过滤数据组件ucMyLookUpEdit
C/S结构快速开发框架使用的DevExpress常用组件
关于SetEditorBindingValue方法的使用
使用[后台数据更新模型]保存主从表数据(C#源码)
详解DevExpress.LookUpEdit控件实现自动搜索定位功能
使用DeepSeek生成DevExpress表格、窗体、C#模型代码并集成到开发框架|C/S开发框架
CSFrameworkV6快速开发框架 | 使用PostgreSql 数据库测试报告|C/S开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 |
在线客服
