002-webBuilder的HelloWorld应用与表格应用

article/2025/9/13 11:49:32

Hello World应用

依照惯例,还是helloWorld

打开集成开发环境

主界面选择【开发套件】->【集成开发环境】或者直接输入[url/ide]打开
在这里插入图片描述

添加Hello World模块

1. 创建目录

点击左侧文件列表中的【模块】节点,点击顶部工作条【添加目录】按钮或者直接右键【模块】来添加目录,在现实的对话框目录中创建新的目录。
在这里插入图片描述

2. 添加文件

点击左侧文件列表项中的[demo]节点,点击顶部工具条[添加文件]按钮或者直接右键【demo】节点创建新的模块文件
在这里插入图片描述

3. 添加window控件

编辑新打开的【helloWorld】模块,在打开的文件模块对象视图中,在module根节点下添加windows控件,方法是拖动右侧【空间箱】中的window控件至对象视图module节点或者双击window控件.并且在对象视图左侧的[配置项事件编辑器]的configs项目中设置autoShow属性为true
在这里插入图片描述

4. 布局设计

点击对象视图中【window1】控件,点击顶部工具条【布局设计器】按钮或者直接右键(如果弹出确认对话框选择【确认】按钮),打开布局设计器,以编辑window1的布局
在这里插入图片描述

5. 布局设计器添加控件

在打开的布局设计器中,分别拖动右侧【控件箱】中的【label】,【text】,【button】控件到布局设计器,并且拖动这些控件位置和调整大小。如下界面:
在这里插入图片描述
分别在布局设计器底部的【标签】文本框中设置[label1]标签为【请输入你的姓名】,【button1】标签为【确定】。标签属性也可以在【配置事件编辑器】中设置。

6. click事件设置

返回helloworld模块的[设计]标签页,并且在对象视图中选择[button1]控件,并且在【配置项事件编辑器】底部EVENT项中编写button1控件click事件代码:

Wb.info('您好'+app.text1.getValue()+',欢迎使用WebBuilder!');

7.运行Hello World模块

点击顶部工具条上的【保存当前模块并运行】按钮,运行hello-world模块,运行的结果如下图

在这里插入图片描述
也可以在主页面中点击【demo】菜单,并点击【hello-world】模块来运行该模块。

表格

表格涉及的知识就得自己总结了

1.新建文件GRID

还是在【demo】项目中新建一个文件【grid】
在这里插入图片描述

2.添加viewport

viewport表示整个页面的显示视口,他把页面渲染到浏览器的body中,他的大小等于浏览器body的大小,如果整个页面需要占据整个浏览器body(全屏显示),可以使用该控件作为顶层控件。
大部分需要在浏览器中显示的模块通常都会使用viewport作为顶层控件,然后在其下添加其他界面控件。
在模块文件中,非容器控件只有被添加到viewport或者容器(如panel控件)才会被显示,比如文本框控件text只有被添加到viewport或者panel才会被显示,佛祖额如果模块不在单独的窗口中运行text不会被直接显示。
在这里插入图片描述
这里有一个操作小技巧,首先点击父类控件module,然后按住ctrl双击viewport就可以成为module的子控件。

3. 添加表格

grid继承自panel,数据的显示通过关联的view展现,view继承自dataview.在访问期间,访问grid.view即可获得grid的view对象。grid的view预定义了以表格行列的样式来显示数据,因此只需要设置store即可以表格方式展示store中的数据。设置表格列columns属性可以定义表格显示的列,columns由多个列column组成的数组构成。设置

  • column的dataIndex可以设置关联的字段名称,
  • text可以设置列标题,
  • width可以设置列宽度
  • renderer属性可以通过JS自定义单元格HTML输出。
  • 设置editable属性为true,可以设置表格为可编辑,可编辑表格必须为对应的column设置editor属性,如果没有设置editor属性那么该列仍然不可编辑。
  • 获取表格中选择的记录可以使用grid.getSelection()方法,
  • 设置表格中选择的记录可以使用grid.setSelection()方法
  • 获取表格的值可以使用Wb.getData()方法
  • 当提交表格的值时,默认提交选择的记录,入宫要提交表格所有行的值,可以设置submitSelect属性为false
    在这里插入图片描述
    我在应用中使用array作为columns,然后添加array的子空间column,具体的属性使用还不太懂。

4. 添加store

在这里插入图片描述
在这里插入图片描述

store和treestore封装了客户端的数据模型,可以通过设置url属性来读取后台的数据,这两个控件默认位于空间箱Data Access目录, 设置autoLoad属性为true可以使store自动加载url指向的数据,如果不设置此属性可以通过store.access()方法来加载数据。
设置fields属性可以指定数据模型,例如设置fieldA字段为日期型,那么后台fieldA返回的字符串可以按照指定格式转换为日期值。如果后台未返回fields模型,那么必须显式设置fields属性,否则未设置的字段将无法被识别和访问。
store可以为combo,grid,dataview,chart等控件提供数据源;treestore为树形结构可以为tree等控件提供数据源。
store的原理为通过Ajax请求读取后台的数据,并按照设置的数据模型转换为对应的数据结构。通过store可以方便读取数据,是前端界面控件和后台数据源之间的桥梁。
store读取的数据格式是JSON,例如下面的格式为有效数据:

{"success": true, //成功标记"metaData": { //元数据定义"fields": [{ //字段定义"name": "field1", //字段名称"type": "string" //类型}, {"dateFormat": "Y-m-d H:i:s.u", //字符串使用的日期格式,用于转换为日期类型"name": "field2","type": "date"}]},"columns": [{ //列定义"xtype": "rownumberer" //列类型}, {"dataIndex": "field1", //字段名称"text": "字段1", //标题名称"width": 180 //宽度}, {"dataIndex": "field2","text": "字段2","width": 120,"format": "Y-m-d" //日期显示的格式}],"rows": [{ //记录值"field1": "123","field2": "2017-09-22 11:43:31.12"}, {"field1": "abc","field2": "2017-09-24 20:08:35.361"}],"total": 2 //总记录数,用于计算分页
}

当在store配置了fields属性,grid配置了columns属性时,以下格式亦是有效的数据并可以显示在表格中:

{rows: [{field1: '123',field2: '2017-09-22 11:43:31.12'}, {field1: 'abc',field2: '2017-09-24 20:08:35.361'}]
}

5.新建目录文件

后台数据最好是自己新建一个目录,并且在该目录中建立后台代码
新建【grid】目录,在该目录中新建文件【select】
在这里插入图片描述
注意选择【在模块列表中隐藏】,因为后端的文件不需要也不能展示。
在这里插入图片描述

6.添加控件dataprovider

在这里插入图片描述
dataprovider:数据源控件,用于根据SQL生成指定类型的输出,比如用于表格的JSON数据;用于图片或者下载的流数据等。
dataprovider是数据库数据输出控件,用于把数据库数据转换为指定格式的JSON脚本,图片或二进制流等数据,通过该控件可以方便地从数据库表。SQL或过程提取数据,并生成目标格式的数据。
该控件的原理是使用query获取数据,然后把query查询到的数据输出到客户端。

7. 使用dataprocider获取SQL内容输出到客户端

在这里插入图片描述

上面的图片就是使得store可以加载url指向的数据,也就是select的数据,这里store必须放在表格里面。否则显示不出来,并且必须是在colums上面。否则也显示不出来。

使用dataprovider控件的方法如下:

  1. 在模块文件中添加dataprovider控件
  2. 设置dataprovider控件的jndi属性,如果需要访问的数据库为默认数据库此项可以为空。
  3. 设置dataprovider控件的sql属性为需要执行的SQL语句,通常为select语句或则和访问存储过程。
    在这里插入图片描述

当模块文件被执行时,SQL语句即被执行并获得SQL返回的结果集。该控件会自动把结果集中的数据按指定格式转换为JSON脚本,然后直接把这些脚本输出到客户端。
在Java或ServerScript中可以使用DataProvider类或者DpControl类来运行dataprovider,在ServerScript中 还可以使用app.output和app.getData()方法运行dataprovider。在ServerScript中运行dataprovider的代码如下:

app.output('select * from table1');//直接把table1表数据转换为JSON并输出至客户端。
app.output('select * from table1', {jndi: 'myJndi'//指定JNDI}
);
var json = app.getData('select * from table1');//把table1表数据转换为JSON对象

在这里插入图片描述

8. 运行grid

按照上面执行sql或者执行serverScript的结果都可以得到:
在这里插入图片描述

9. 尝试表格事件

添加一个点击事件
在这里插入图片描述
效果如下:

在这里插入图片描述

ServerScript

在WebBuilder中支持两种方法编程,一种是传统的Java,另一种是使用JavaScript语法在服务器进行编程。为了避免同客户端JavaScript的混淆,称服务器端JavaScript为ServerScript。ServerScript虽然语法为JavaScript,但是本质上是Java的方法和类库
模块文件运行Java代码可以通过设置模块文件根节点module的serverScript属性,在模块文件被调用时该方法将被执行。


http://chatgpt.dhexx.cn/article/E3YPjQXN.shtml

相关文章

强大的快速开发平台WebBuilder(简称WB)

WebBuilder是一款强大,全面和高效的应用开发和运行平台。基于浏览器的集成开发环境,可视化和智能化的设计,能轻松完成常规应用和面向手机的移动应用开发。包含多项先进技术,使应用系统的开发更快捷和简单。 WB集成开发环境 wb的…

Web快速开发平台

Putdb WebBuilder 官网: http://www.putdb.com WebBuilder是一款开源的跨平台、数据库和浏览器的可视化Web应用开发平台。WebBuilder使用了多项最新的技术,使Web应用的开发更快捷和简单。作为一款高效的Web开发工具,WebBuilder的特色是&#…

PTX JIT complied failed

记录一下我遇到的问题。 我在安装cupy运行的时候出现这个问题; 我运行的环境是Ubuntu,由于同时装了cuda9.0和cuda10.0,导致cupy安装出现了问题。 首先 import cupy as cp print(cp.show_config())结果 如果这里CUDA同时有9.0和10.0可能就会出…

Please check CUDA_ARCH_PTX or CUDA_ARCH_BIN in your build configuration错误解决

在RTX2060显卡的机器上,编译了cuda opencv4.4没有报错,但是使用gpu就报错,报错如下: classes, confidences, boxes net.detect(image, confThreshold, nmsThreshold) cv2.error: OpenCV(4.4.0) /home/ycc/opencv-4.4.0/modules/…

PTX-TK-PEG-NH2 紫杉醇-酮缩硫醇-聚乙二醇-氨基的制备

今日瑞禧生物小编给大家整理分享一种PLGA-SS-PEG-Cur 聚丙交酯乙交酯共聚物-双硫键-聚乙二醇-姜黄素的应用。 紫杉醇分子式为C47H51NO14,在临床上应用广。紫杉醇作为一个二萜生物碱类化合物,具有新颖复杂的化学结构、显著的生物活性、全新独特的作用机制…

CUDA PTX ISA阅读笔记(二)

8. 第八章 指令集 这一章占了整个手册的一大半(百十来页吧),主要介绍各种指令,虽然页数很多,但是大多数指令都很简单。 8.1. 指令的形式和语义描述 这章就是主要描述每个PTX指令。除了指令的形式和语义之外还有一些例子来描述这些指令的使…

CUDA(19)之PTX优化原理

摘要 本文主要讲述CUDA中的PTX的原理实现和分析。 1. 不作优化的代码实现 Nvidia GTX 1050, CUDA 8.0测试代码如下&#xff1a; #include "cuda_runtime.h" #include "device_launch_parameters.h"#include <stdio.h>__global__ void gpu(int *d_…

Cy5/FITC/CY3/CY7-Nab-PTX ,荧光标记白蛋白结合型紫杉醇

Cy5 (Cyanine 5) 是一种发远红(far-red)荧光的花青素荧光染料&#xff0c;分为普通Cy5和磺化Cy5(Sulfo-Cy5)。它的消光系数很高&#xff0c;荧光很亮&#xff0c;并且对pH不敏感&#xff0c;一般可以用633 nm或647 nm的激光束激发然后用 Cy5或APC滤片观察&#xff0c;所以在绝大…

vs进行cuda编程失败,报错“the provided PTX was compiled with an unsupported toolchain.”

这表明提供的PTX是使用不受支持的工具链编译的。最常见的原因是PTX是由比CUDA驱动程序和PTX JIT编译器支持的编译器更新的编译器生成的。 解决&#xff1a;更新显卡驱动。 更新方法&#xff1a; 1.进入英伟达官网页面&#xff0c;网址https://www.nvidia.cn/Download/index.asp…

arduino笔记33:nRF24l01模块使用 FSK 波特率 通信方式 PTX PRX

最近再arduino中文社区看到了一篇介绍nrf24l01基本原理的帖子&#xff0c;内容感觉蛮不错的&#xff0c;学习一下&#xff0c;记录一下学习笔记。 大部分内容都是Arduino中文社区的帖子&#xff0c;附上自己的一点点体会。 目录 一、数据传输 FSK&#xff08;Frequency Shi…

Internal: Invoking ptxas not supported on WindowsRelying on driver to perform ptx compilation.

原环境&#xff1a;Windows 10, gpu 3090, TF 1.15&#xff0c;cuda_10.0.130_411.31_win10&#xff0c;cuDNN 7.6.5.32 mask-rcnn框架&#xff0c;运行train.py报错信息如下&#xff1a; image_id 333 image_id 32 image_id 58 2022-01-01 19:03:07.415032: I tensorflow/str…

Matlab里.cu函数转ptx文件常见错误

错误类型&#xff1a; nvcc fatal : Cannot find compiler ‘cl.exe’ in PATHwarning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失 &#xff1b;fatal error C1083: 无法打开包括文件: “mat.h”: No such file or di…

vs cuda c/c++ 生成ptx配置

在编译cu文件生成ptx文件 一&#xff1a;生成依赖项目 二&#xff1a;配置.cu属性&#xff0c;项目类型改为CUDA C/C 三&#xff1a;配置CUDA C/C属性 compiler output&#xff1a;输出的文件名&#xff1b; additional include directories: 包含库&#xff1b; nvcc compi…

the provided ptx was compiled with an unsupported toolchain

本人遇到这个问题的原因是&#xff0c;一个动态库在一个cuda驱动比较新的服务器上编译的&#xff0c;然后使用这个动态库&#xff0c;在cuda较老的驱动上运行 编译机器cuda版本信息 运行机器cuda版本信息

VS查看PTX代码

首先&#xff0c;声明本人用的是Windows 7操作系统&#xff0c;使用Windows 8操作系统的小伙伴们会启动不了Nsight monitor&#xff0c;原因在于Windows 8操作系统的Framework版本过新&#xff0c;解决办法可以是&#xff1a;安装一个版本旧一点的Matlab&#xff0c;安装起初会…

Nvidia Tensor Core-MMA PTX编程入门

目录 1 PTX (Parallel Thread Execution) 2 MMA (Matrix Multiply Accumulate) PTX 3 LDMATRIX PTX 4 示例 5 底层代码 6 其他 6.1 HGEMM优化 1 PTX (Parallel Thread Execution) PTX是什么&#xff0c;Nvidia官方描述为a low-level parallel thread execution virtual…

PTX ISA 7.4 参考手册翻译

文章目录 PTX Parallel Thread Execution ISA 7.4SynataxSource FormatCommentsStatementsinstruction identifiersInteger ConstantFloat-Point ConstantConstant expression整型常量表达式求值 State Spaces, Types, and Variables状态空间Kernel Function ParametersKernel …

CUDA PTX ISA阅读笔记(一)

不知道这是个啥的看这里&#xff1a;Parallel Thread Execution ISA Version 5.0. 简要来说&#xff0c;PTX就是.cu代码编译出来的一种东西&#xff0c;然后再由PTX编译生成执行代码。如果不想看网页版&#xff0c;cuda的安装目录下的doc文件夹里有pdf版本&#xff0c;看起来也…

CUDA进阶第二篇:巧用PTX

写在前面 并行线程执行&#xff08;Parallel Thread eXecution&#xff0c;PTX&#xff09;代码是编译后的GPU代码的一种中间形式&#xff0c;它可以再次编译为原生的GPU微码。CUDA 手册传送门&#xff1a;Parallel Thread Execution ISA Version 4.3 利用PTX来进行试验&…

一文了解GPU并行计算CUDA

了解GPU并行计算CUDA 一、CUDA和GPU简介二、GPU工作原理与结构2.1、基础GPU架构2.2、GPU编程模型2.3、软件和硬件的对应关系 三、GPU应用领域四、GPUCPU异构计算五、MPI与CUDA的区别 一、CUDA和GPU简介 CUDA&#xff08;Compute Unified Device Architecture&#xff09;&…