在使用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,

【GeneXus】在WorkWithPlus中如何定义未被包含的页面属性?的更多相关文章

  1. 微信小程序错误——mpvue小程序:未找到 app.json 中的定义的 pages "pages/XXX/XXX" 对应的 WXML 文件

    背景 在刚开始学习开发小程序时,使用微信开发工具在app.json建立页面,写好配置文件名称后,应该会自动生成页面的4个文件,结果没有生成文件,反而报错:mpvue小程序:未找到 app.json 中 ...

  2. C++中如何定义类和对象?

    在C++语言中,对象的类型被称为类,类代表了某一批对象的共性和特征. 类是对象的抽象,而对象是类的具体实例.如同C中的结构体一样,我们要先定义一个结构体,再使用结构体去定义一个变量.同一个结构体可以定 ...

  3. ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案

    摘要: ueditor1.3.6jsp版在struts2应用中上传图片报"未找到上传文件"解决方案 在struts2应用中使用ueditor富文本编辑器上传图片或者附件时,即使配置 ...

  4. C# 问题解决思路--《数组bytes未定义》,ASP.NET页面加载顺序

    好久没写博客了,废话不多说,直接说问题. 问题发生情况,首先这个是老项目,然后我是第一次修改.当我解决了各种引用,数据库配置之后等类似的问题,我启动的项目的时候,无任何问题,但是当我点击页面的按钮的时 ...

  5. JAVA中如何定义自定义注解

    了解注解 注解是Java1.5,JDK5.0引用的技术,与类,接口,枚举处于同一层次 .它可以声明在包.类.字段.方法.局部变量.方法参数等的前面,用来对这些元素进行说明,注释 . 在Java中,自带 ...

  6. selector是在文件夹drawable中进行定义的xml文件转载 https://www.cnblogs.com/fx2008/p/3157040.html

    获取Drawable对象: Resources res = mContext.getResources(); Drawable myImage = res.getDrawable(R.drawable ...

  7. Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析

    Spring3.2 中 Bean 定义之基于 XML 配置方式的源码解析 本文简要介绍了基于 Spring 的 web project 的启动流程,详细分析了 Spring 框架将开发人员基于 XML ...

  8. 第7.15节 Python中classmethod定义的类方法详解

    第7.15节  Python中classmethod定义的类方法详解 类中的方法,除了实例方法外,还有两种方法,分别是类方法和静态方法.本节介绍类方法的定义和使用. 一.    类方法的定义 在类中定 ...

  9. C++中重定义的问题——问题的实质是声明和定义的关系以及分离式编译的原理

    这里的问题实质是我们在头文件中直接定义全局变量或者函数,却分别在主函数和对应的cpp文件中包含了两次,于是在编译的时候这个变量或者函数被定义了两次,问题就出现了,因此,我们应该形成一种编码风格,即: ...

随机推荐

  1. [转]ASP.NET WebApi OWIN 实现 OAuth 2.0

    OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用. OAuth 允许用户提供一个令牌, ...

  2. python面向对象之三大特性

    继承 先看个简单的例子了解一下继承. class Animal: # 父类 def __init__(self, name, age, department): self.name = name se ...

  3. CodeForces 1216C(假的计算几何+扫描线)

    传送门 •题意 给你三个矩形,依次编号为 1,2,3: 判断 矩形1 是否被 矩形2 和 矩形3 完全覆盖: 如果没有完全覆盖,输出 "YES",反之,输出 "NO&qu ...

  4. SELECT command denied to user ''@'%' for column 'xxx_id' in table 'users_xxx' 权限问题

    问题的原因是:最主要是权限的问题. 大概说下 ,我导数据库时提示错误:SELECT command denied to user ''@'%' for column 'xxx_id' in table ...

  5. Jmeter完整Demo

    1:创建一个线程组 2:添加一个cookie管理器 3:设置你的信息头管理器:application/json;text/plain;charset=UTF-8 44 4:添加一个用户参数,做全局变量 ...

  6. C# 如何在项目引用x86 x64的非托管代码

    因为现在的项目使用的是 AnyCpu 在 x86 的设备使用的是x86,在x64使用的是x64,但是对于非托管代码,必须要在x64使用x64的dll,在x86使用x86的dll.在C++没有和C#一样 ...

  7. springBoot中使用使用junit测试文件上传,以及文件下载接口编写

    本篇文章将介绍如何使junit在springBoot中测试文件的上传,首先先阅读如何在springBoot中进行接口测试. 文件上传操作测试代码 import org.junit.Before; im ...

  8. CF1151FSonya and Informatics

    CF1151FSonya and Informatics 给一个长度为 n$ (n\leq 100)$的 \(0/1\) 串,进行 k\((k \leq 10^9)\)次操作,每次操作选择两个位置 \ ...

  9. git authentication failed for 或 fatal:not a git repository

    第一种解决 (我的是第一种解决) github上更改密码之后,我在本地操作git发现出错,错误代码如上,在网上搜了一圈,没有解决问题,后发现需要进行如下操作: 进入控制面板>用户账号>凭据 ...

  10. Flask框架知识点整合

    Flask 0.Flask简介 Flask是一个基于Python开发并且依赖jinja2模板和Werkzeug WSGI服务的一个微型框架,对于Werkzeug本质是Socket服务端,其用于接收ht ...