使用DataBinderTools工具类绑定下拉LookupEdit组件数据源
作者:作者不详  发布日期:2020-04-11 16:25:45
  使用DataBinderTools工具类绑定下拉LookupEdit组件数据源

使用DataBinderTools工具类绑定下拉LookupEdit组件数据源


DataBinderTools工具类


用于绑定下拉数据源的工具类,封装一系列方法,在Form的Load事件内绑定下拉组件的数据源。

命名空间:CSFrameworkV5.Library.CommonClass.DataBinderTools


参考例子


1. 绑定表格单元格中用户下拉数据源(RepositoryItemLookUpEdit)


使用方法:

C# Code:

//绑定表格中下拉框RepositoryItemLookUpEdit
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



贴图图片-DataBinderTools绑定LookupEdit数据源



2. 绑定界面的用户下拉数据源(LookUpEdit)


使用方法:

C# Code:

//绑定标准文本下拉框LookUpEdit
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




贴图图片-DataBinderTools绑定LookupEdit数据源1



CG_LookupDataBoundAttribute类:


用于定义DataBinderTools类的方法能绑定LookupEdit组件的数据源,应用于CSFramework代码生成器

命名空间:CSFrameworkV5.CodeGeneratorCore.CG_LookupDataBoundAttribute


定义了CG_LookupDataBoundAttribute特性的方法,在代码生成器工具中,可以给LookupEdit组件选择一个绑定方法,没有定义此特性的方法,不会出现在列表中,如下图所示:

贴图图片-DataBinderTools绑定LookupEdit数据源3



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


贴图图片-DataBinderTools绑定LookupEdit数据源4



DataBinderTools类BoundUser方法的特性定义:


C# Code:

[CG_LookupDataBoundAttribute("绑定用户资料", CG_EditorType.NormalEditor)]
public static void BoundUser(LookUpEdit lue)
{
  
//省略....
  
}
  




CG_LookupDataBoundAttribute类定义:


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



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




C/S框架网|原创精神.创造价值.打造精品

扫一扫加微信
C/S框架网作者微信 C/S框架网|原创作品.质量保障.竭诚为您服务


上一篇 下一篇