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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 部件 流程 SQL
查看: 4880|回复: 7

[分享] 快速开发平台中调用树型录入控件

[复制链接]

78

主题

634

帖子

1598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1598
发表于 2020-4-4 12:32:00 | 显示全部楼层 |阅读模式
在度量快速开发平台中,编写了很多有用的控件,而这些控件,可以通过引用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属性设置值即可。单击下拉后的效果:
任务1.png

快速查找的效果:

任务2.png

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

使用道具 举报

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
发表于 2020-4-4 13:16:57 | 显示全部楼层
二次开发中一般不用,用的时候好好研究。
回复 支持 反对

使用道具 举报

328

主题

3738

帖子

8566

积分

作者

Rank: 7Rank: 7Rank: 7

积分
8566
QQ
发表于 2020-4-4 14:33:24 | 显示全部楼层
好强大,这样就能快速检索数据了!
回复 支持 反对

使用道具 举报

78

主题

634

帖子

1598

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1598
 楼主| 发表于 2020-4-5 09:19:27 | 显示全部楼层
确实很强。
回复

使用道具 举报

198

主题

1313

帖子

3806

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3806
发表于 2020-4-5 14:36:43 | 显示全部楼层
继续贴一些二次开发的,我们也好更多了解。上次有个客户想自动导出几个xls的功能,还自己去写个dll调用,我们直接就实现了的。就需要完善类似的资料。
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9705

积分

论坛元老

Rank: 8Rank: 8

积分
9705
发表于 2020-4-6 04:17:43 | 显示全部楼层
这样我是不是可以通过调用不同的Dll来引用.net内置的所有控件了?
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

348

主题

3572

帖子

9705

积分

论坛元老

Rank: 8Rank: 8

积分
9705
发表于 2020-6-21 16:35:22 | 显示全部楼层
多整点类似控件丰富平台内容还是不错的,学习学习在学习
若現在就覺得失望無力,未來那麽遠妳該怎麽扛...
————————————————————————致自己
回复 支持 反对

使用道具 举报

235

主题

2547

帖子

5834

积分

论坛元老

Rank: 8Rank: 8

积分
5834
发表于 2020-2-20 18:21:00 | 显示全部楼层
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|重庆度量科技  本站关键词:快速开发平台

GMT+8, 2024-3-29 23:48 , Processed in 0.147578 second(s), 33 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表