其他分享
首页 > 其他分享> > 【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?

【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?

作者:互联网

在使用GeneXus开发项目的过程中,有很多用户会使用到WorkWithPlus这个模板。通过WorkWithPlus的编辑器,让页面的调整变得极为简单,尤其是响应式页面。在WorkWithPlus的编辑器里,已经包含了GeneXus各种控件的常用属性,如下图所示:

 

但是有时候在WorkWithPlus编辑器里右边的属性栏中没有包含某个我们需要设置的页面属性,例如Grid的Rows、Paging等属性,那么这时候如何处理比较好呢?

解决这个问题我们一般有两种方式,首先考虑要设置的这个属性是否可以在代码中动态赋值,如果可以,则通过一行代码就可以解决这个问题;如果不行,则需要通过WorkWithPlus的Custom properties来实现。接下来我们分别举两个例子来说明一下。

 

1. 在GeneXus的WebForm里面,我们是可以直接在Grid的属性中设置Rows值的。

 

 但在WorkWithPlus的编辑器中,没有包含Grid的Rows属性,因为WorkWithPlus统一设置了列表数据的Rows值。那么如果对于个别页面,想单独设置列表行数Rows,如何操作呢?我们知道Grid的Rows属性是可以通过代码动态赋值的,所以这种情况,我们在该页面里面的Start事件直接对该Grid的Rows进行赋值即可。

例如:Grid.Rows = 15,该行代要写在WorkWithPlus生成的代码下面。

 

2. 但如果要设置的属性不支持通过代码动态赋值,我们需要开启WorkWithPlus的Custom properties属性。如图:

 

这个属性一般默认是隐藏起来的,如果需要使用,那么我们首先要把它设置显示出来:工具-->选择-->WorkWithPlus-->显示自定义属性:True

 

 

 

设置完之后,需要重启GeneXus,在WorkWithPlus的编辑器中就会看到Custom Properties。

 

 

这个值的具体写法,我们通过如下方式获取。例如我们需要在WorkWithPlus编辑器里面将Grid的Paging属性设置为Infinite scrolling。先新建一个未使用WorkWithPlus的Web Panel,直接在属性栏中对需要修改的属性进行设置,如下图设置Grid的Infinite scrolling属性:

 

然后将这个页面导出为xml格式的文件:

 

 

然后打开Xml文件,搜索一下自己设置的属性:

将对应的值复制到Custom properties就可以了。 这里需要注意,有的内容会包含转义字符,可以先处理一下再复制。

例如rows="10" 未包含转义字符,则可以直接使用。但InfiniteScrolling对应的内容有很多转义字符,则需要先处理一下。

具体的转义字符可以参考网上的信息,以下是常用的几个。

 

 将InfiniteScrolling对应的内容中的转义字符替换掉后,值为<Name>InfiniteScrolling<Name><Value>Infinite scrolling<Value>,

我们需要写成Name=Value的形式,在Custom properties里即为:InfiniteScrolling=Infinite scrolling

 Custom properties如果有多个属性的话,用分号隔开即可:

 

 

有关第二种方式,如果想了解更多,还可以参考:

http://docs.dvelopsoftware.com:8081/WikiPlus/servlet/com.wiki.wiki?342,Custom+Properties+for+Grid%2C+Attributes+and+Variables,

标签:Rows,WorkWithPlus,Custom,Grid,设置,GeneXus,属性,页面
来源: https://www.cnblogs.com/genexusblog/p/11028753.html