【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如果有多个属性的话,用分号隔开即可:

有关第二种方式,如果想了解更多,还可以参考:
【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?的更多相关文章
- 微信小程序错误——mpvue小程序:未找到 app.json 中的定义的 pages "pages/XXX/XXX" 对应的 WXML 文件
背景 在刚开始学习开发小程序时,使用微信开发工具在app.json建立页面,写好配置文件名称后,应该会自动生成页面的4个文件,结果没有生成文件,反而报错:mpvue小程序:未找到 app.json 中 ...
- C++中如何定义类和对象?
在C++语言中,对象的类型被称为类,类代表了某一批对象的共性和特征. 类是对象的抽象,而对象是类的具体实例.如同C中的结构体一样,我们要先定义一个结构体,再使用结构体去定义一个变量.同一个结构体可以定 ...
- ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案
摘要: ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案 在struts2应用中使用ueditor富文本编辑器上传图片或者附件时,即使配置 ...
- C# 问题解决思路--《数组bytes未定义》,ASP.NET页面加载顺序
好久没写博客了,废话不多说,直接说问题. 问题发生情况,首先这个是老项目,然后我是第一次修改.当我解决了各种引用,数据库配置之后等类似的问题,我启动的项目的时候,无任何问题,但是当我点击页面的按钮的时 ...
- JAVA中如何定义自定义注解
了解注解 注解是Java1.5,JDK5.0引用的技术,与类,接口,枚举处于同一层次 .它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明,注释 . 在Java中,自带 ...
- selector是在文件夹drawable中进行定义的xml文件转载 https://www.cnblogs.com/fx2008/p/3157040.html
获取Drawable对象: Resources res = mContext.getResources(); Drawable myImage = res.getDrawable(R.drawable ...
- Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析
Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML ...
- 第7.15节 Python中classmethod定义的类方法详解
第7.15节 Python中classmethod定义的类方法详解 类中的方法,除了实例方法外,还有两种方法,分别是类方法和静态方法.本节介绍类方法的定义和使用. 一. 类方法的定义 在类中定 ...
- C++中重定义的问题——问题的实质是声明和定义的关系以及分离式编译的原理
这里的问题实质是我们在头文件中直接定义全局变量或者函数,却分别在主函数和对应的cpp文件中包含了两次,于是在编译的时候这个变量或者函数被定义了两次,问题就出现了,因此,我们应该形成一种编码风格,即: ...
随机推荐
- 深入Java线程管理(三):线程同步
一. 引入同步: 有一个很经典的案例,即银行取款问题.我们可以先看下银行取款的基本流程: 1)用户输入账户.密码,系统判断用户的账户.密码是否匹配. 2)用户输入取款金额. 3)系统判断账户金额是否大 ...
- 【机器学习】【条件随机场CRF-2】CRF的预测算法之维特比算法(viterbi alg) 详解 + 示例讲解 + Python实现
1.CRF的预测算法条件随机场的预测算法是给定条件随机场P(Y|X)和输入序列(观测序列)x,求条件概率最大的输出序列(标记序列)y*,即对观测序列进行标注.条件随机场的预测算法是著名的维特比算法(V ...
- H3C 配置RIP peer
- PyTorch里面的torch.nn.Parameter()
在刷官方Tutorial的时候发现了一个用法self.v = torch.nn.Parameter(torch.FloatTensor(hidden_size)),看了官方教程里面的解释也是云里雾里, ...
- springSecurity安全框架的学习和原理解读
最近在公司的项目中使用了spring security框架,所以有机会来学习一下,公司的项目是使用springboot搭建 springBoot版本1.59 spring security 版本4.2 ...
- H3C IP路由表摘要信息
- tf.train.string_input_producer()
处理从文件中读数据 官方说明 简单使用 示例中读取的是csv文件,如果要读tfrecord的文件,需要换成 tf.TFRecordReader import tensorflow as tf file ...
- 21个项目玩转深度学习:基于TensorFlow的实践详解03—打造自己的图像识别模型
书籍源码:https://github.com/hzy46/Deep-Learning-21-Examples CNN的发展已经很多了,ImageNet引发的一系列方法,LeNet,GoogLeNet ...
- P1052 国王放置问题
题目描述 在n*m的棋盘上放置k个国王,要求k个国王互相不攻击,有多少种不同的放置方法.假设国王放置在第(x,y)格,国王的攻击的区域是:(x-1,y-1), (x-1,y),(x-1,y+1),(x ...
- H3C 计算子网内可用主机地址数