度量快速开发平台-专业、快速的软件定制快开平台

标题: 快速开发平台中调用树型录入控件 [打印本页]

作者: fteair    时间: 2020-2-20 18:21

作者: 张军勇    时间: 2020-4-4 12:32
标题: 快速开发平台中调用树型录入控件
在度量快速开发平台中,编写了很多有用的控件,而这些控件,可以通过引用dll的方式编程直接使用。如树型控件,可以在输入时,将要输入的数据展现为树型,方便用户选择,同时还可以支持快速查找。
合理利用,将有助于提高开发效率。
那么,如何调用树型输入控件呢?首先需要引入几个DLL,
FWFramework.Client.BaseControls.dll
FWFramework.Client.Common.dll
FWFramework.Client.PartBase.dll
FWFramework.Common.dll
FWFramework.TableReader.dl
Service.dlll  
引用了以上DLL之后,我们即可创建窗体,名称暂时定义为:AddNewTask,在窗体中加入一个panel控件,用于确定树型控件的位置,假定名称为:pnl_deptid

定义一个类型为PopupDataTableTreeEditControl的控件,这就是我们的树型下拉选择控件。

  1.     public partial class AddNewTask : DevExpress.XtraEditors.XtraForm
  2.     {

  3.         PopupDataTableTreeEditControl control;

  4.         public AddNewTask()
  5.         {
  6.             InitializeComponent();

  7.             //定义树型显示控件
  8.             TreeListDisplayControl tc = new TreeListDisplayControl();

  9.             //定义下拉树型选择控件
  10.             control = new PopupDataTableTreeEditControl(tc);

  11.             //传入关键值,上级ID,这两个参数主要是形成树型。
  12.             tc.KeyFieldName = "ID";
  13.             tc.ParentFieldName = "UPPER_ID";

  14.             //传入存储值列,表示树型行选中时,获取哪个列的值做为存储值。
  15.             control.ValueFieldName = "ID";

  16.             //设置显示值列,表示显示时不直接显示控件的存储值,用显示值替换。
  17.             control.DisplayFieldName = "NAME";

  18.             //是否显示标题
  19.             control.ShowColumnsHeader = false;
  20.             tc.ShowTitle = false;

  21.             //定义数据源,只要是DataTable类型即可,但是必须包含上面定义的关键值和上级ID,才可以形成树型。
  22.             //这儿从组织机构服务中获取了部门树。
  23.             OrganizationService org = new OrganizationService();
  24.             //将数据源设置为部门树。
  25.             control.DataTable = org.GetDeptTree();

  26.             //设置哪些列隐藏,不显示到界面上。这儿将DataTable中除Name列外所有列均隐藏了。
  27.             foreach (DataColumn dc in control.DataTable.Columns)
  28.             {
  29.                 if (dc.ColumnName != "NAME")
  30.                     control.HiddenFields.Add(dc.ColumnName);
  31.             }

  32.             //设置是否允许快速查找,当允许时,输入值时会直接过滤显示出结果供快速输入。
  33.             control.AllowQuickFind = true;

  34.             //将其添加到panel中。panel用于直接固定位置。
  35.             control.Dock = DockStyle.Fill;
  36.             pnl_deptid.Controls.Add(control);

  37.         }
  38.     }
复制代码

如果我们需要编辑,只需要将PopupDataTableTreeEditControl的Value属性设置值即可。单击下拉后的效果:


快速查找的效果:



还可以绑定imagelist,为树型部件显示图标。

作者: 王爱东    时间: 2020-4-4 13:16
二次开发中一般不用,用的时候好好研究。
作者: 陈晓龙    时间: 2020-4-4 14:33
好强大,这样就能快速检索数据了!
作者: 张军勇    时间: 2020-4-5 09:19
确实很强。
作者: 王爱东    时间: 2020-4-5 14:36
继续贴一些二次开发的,我们也好更多了解。上次有个客户想自动导出几个xls的功能,还自己去写个dll调用,我们直接就实现了的。就需要完善类似的资料。
作者: 万望    时间: 2020-4-6 04:17
这样我是不是可以通过调用不同的Dll来引用.net内置的所有控件了?
作者: 万望    时间: 2020-6-21 16:35
多整点类似控件丰富平台内容还是不错的,学习学习在学习




欢迎光临 度量快速开发平台-专业、快速的软件定制快开平台 (http://p.delit.cn/) Powered by Discuz! X3.2