【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如果有多个属性的话,用分号隔开即可:
有关第二种方式,如果想了解更多,还可以参考:
标签:Rows,WorkWithPlus,Custom,Grid,设置,GeneXus,属性,页面 来源: https://www.cnblogs.com/genexusblog/p/11028753.html