Previous topicNext topic
Help > 开发指南 > 窗体开发 > 窗口基础 >
快速添加控件

上面我们在设计窗口的章节已经介绍了如何按正常的方式添加一些控件的方法,但是我们很多时候需要设计一些编辑窗体,使用的是一些可编辑控件,这些控件希望可以直接绑定到相应的表,然后根据表属性里面设置的数据规范加载相应的下拉清单、弹出窗口、下拉目录树、字典等等。

由于绑定的表可能是来自其他窗体中的表,也可能是来自本窗体中的表,两种方式添加绑定控件的方式不太一样,我们分开来讲。

绑定其他窗体中的表

1、先打开源表所对应的窗体。目的是加载相应的表数据,方便我们可以直接访问到表。

2、在窗口设计模块中,在左边切换到“字段”标签中。

3、根据已经打开的窗体,依次选择“窗体名称”——“表名称”,让我们知道应该绑定哪个表中的数据。

4、根据自己当前使用的软件版本来决定“转换控件”的选择状态。如果是开发版或以上版本的用户,可以取消“转换控件”选项的选择,这样创建的控件就是授权之后的控件,如果是没有C1 Winform授权的电脑上,就只能选择“转换控件”,使用设计时效果差一点的替代控件。

5、选择一个可以作为父控件的容器控件。

6、根据自已所选择的父容器控件的尺寸,决定自己新增控件按几列排布。然后设置“列数”,2列、3列、4列都可以。设置几列,一会新增的控件就会按几列进行自动排布。自动排布可以节省我们大量的调整控件的时间。

7、在“字段清单”中一次性选择多个字段。在批量选择之前,我们可以根据自己的需要单独设置各个字段的控件类型。然后点击“新增所选控件”菜单

我们可以在相同的父容器中继续添加另外一批的控件。

当我们需要在另外一个容器中添加控件时,就需要根据这个容器控件中的数量、占用的位置来决定是否初始化控件位置或者是直接手动调整“序号”的值。序号的本质就是告诉程序当前容器中有多少个控件,根据“列数”和控件个数,我们就可以大概计算出新增的控件应该放在什么位置。这个计算是个大概的值,并不准确,但是足以方便我们后期进行简单调整即可。

如果一些特殊的位置不方便计算序号的话,我们还可以单个字段进行拖拽添加。这种方法添加的控件,也是自动绑定好字段与标题的。

我们可以看到,上面新增出来的控件标题虽然都非常贴心地帮我们根据表格的标题自动地创建好了,但是标题名的长短不一致,导致控件非常凌乱。我们需要选择所有控件,然后在属性控件中统一调整一下标题宽度。

这时候,只要我们再手动调整一下窗体中控件的布局,一个拥有绑定控件的窗体已经设计好了。

但是这个窗口还不完善,此时这些控件什么显示格式、数据规范、下拉清单这些设置都没有,仅仅拥有绑定表数据的功能。在一些负责查看绑定数据的场景这个就足够了,但是在一些录入场景,这还不够,我们还需要多做一项工作。就是设置一下窗体“自动加载设置(NeedLoadBindingControlSettingFromGrid)”属性。

设置完了自动加载设置后,再重新打开窗体,窗体中的控件就会自动从绑定的表属性中加载必填、只读、数据规范等等,所有这些都不用写任何代码。

自定义主副表窗体

我们还可以通过ModelDetailEdit这个容器控件,非常简单地实现一个自定义化的主副表窗体。只需要以下几个动作:

1、拖入一个ModelDetailEdit控件到窗体中。

2、设置ModelDetailEdit控件的绑定表到指定的主表。

3、根据自己的需要,添加一些绑定控件。

4、设置一下窗体的“自动加载设置”属性。

就上面几个操作,可能快的话一分钟内就可以解决。就可以得到下面这样一个窗体。菜单继承自主表的表属性设置,控件已经与主表绑定,并且从主表表属性中加载了相应的必填、只读、数据规范等等。子表清单以及相应的表属性都是继承自主表表属性设置。这一切都来得如此简单,并且同样具有强大的灵活性。

绑定当前窗体中的表

1、先在当前窗体中添加表,用代码或者表属性设置表要加载的数据。

2、预览当前窗体,目的是打开窗体让当前窗体中的表加载。

3、返回到窗口设计模块,剩下的步骤跟上面绑定其他窗口中的表操作方法是一样的了。根据已经打开的窗体,依次选择“窗体名称”——“表名称”,让我们知道应该绑定哪个表中的数据。

4、根据自己当前使用的软件版本来决定“转换控件”的选择状态。

5、选择一个可以作为父控件的容器控件。

6、根据自已所选择的父容器控件的尺寸,决定自己新增控件按几列排布。

7、在“字段清单”中一次性选择多个字段。然后点击“新增所选控件”菜单

最终执行效果,我们可以将表隐藏掉,即可达到只有控件的效果了。