永洪社区

标题: js获取数据集结果 [打印本页]

作者: glj    时间: 2021-5-18 17:15
标题: js获取数据集结果
怎么通过js获取一个数据集的结果,比方说一条数据的状态,通过状态来判断用户是否可以执行提交操作

作者: 永洪tech-zyc    时间: 2021-5-18 17:31
glj 发表于 2021-5-18 17:15
怎么通过js获取一个数据集的结果,比方说一条数据的状态,通过状态来判断用户是否可以执行提交操作
...

判断数据状态是什么意思你的需求是 什么

作者: glj    时间: 2021-5-18 17:33
需求就是我要去获取一个数据集的结果,在按钮点击的时候,如果状态为0就不让提交
作者: glj    时间: 2021-5-18 17:34
永洪tech-zyc 发表于 2021-5-18 17:31
判断数据状态是什么意思你的需求是 什么

需求就是我要去获取一个数据集的结果,在按钮点击的时候,如果状态为0就不让提交
作者: 永洪tech-zyc    时间: 2021-5-18 17:34
glj 发表于 2021-5-18 17:33
需求就是我要去获取一个数据集的结果,在按钮点击的时候,如果状态为0就不让提交 ...

你这个不是数据集的结果就是想获取某个数据中某个字段的值是否为0判断是吗
作者: glj    时间: 2021-5-18 17:35
永洪tech-zyc 发表于 2021-5-18 17:34
你这个不是数据集的结果就是想获取某个数据中某个字段的值是否为0判断是吗 ...

是的,但是是从数据库获取的
作者: 永洪tech-zyc    时间: 2021-5-18 17:36
glj 发表于 2021-5-18 17:35
是的,但是是从数据库获取的

这样的话获取不到,还是需要变成sql数据集,你的具体场景是什么样的

作者: glj    时间: 2021-5-18 17:37
永洪tech-zyc 发表于 2021-5-18 17:36
这样的话获取不到,还是需要变成sql数据集

怎么获取呢?我要在按钮点击的时候去获取,也就是说在js里面获取
作者: 永洪tech-zyc    时间: 2021-5-18 17:40
glj 发表于 2021-5-18 17:37
怎么获取呢?我要在按钮点击的时候去获取,也就是说在js里面获取

我们可以把数据库中的数据变成 sql数据集绑定在表格中,然后通过getViewData脚本获取表格 中的数据,然后判断每一条数据是否为0。这样可以吗
作者: glj    时间: 2021-5-18 17:44
永洪tech-zyc 发表于 2021-5-18 17:40
我们可以把数据库中的数据变成 sql数据集绑定在表格中,然后通过getViewData脚本获取表格 中的数据,然后 ...

你这样可以吗?你可以理解成我在按钮提交前要执行一次查库的操作
作者: 永洪tech-zyc    时间: 2021-5-18 17:46
glj 发表于 2021-5-18 17:44
你这样可以吗?你可以理解成我在按钮提交前要执行一次查库的操作

这把查库的操作应该是不行的,不过你可以设置获取实时数据保证数据尽可能是最新的
作者: glj    时间: 2021-5-18 17:49
永洪tech-zyc 发表于 2021-5-18 17:46
这把查库的操作应该是不行的,不过你可以设置获取实时数据保证数据尽可能是最新的 ...

我看之前的问题里面有execute的,这个可以实现吗?
作者: 永洪tech-zyc    时间: 2021-5-18 17:53
glj 发表于 2021-5-18 17:49
我看之前的问题里面有execute的,这个可以实现吗?

函数

说明

举例

newInstance

创建一个对象实例。newInstance (String classname);

var a=newInstance(query);

isNull

检测对象是否为空。isNull (Object obj);

var a=isNull(query);

isNumber

检测对象是否是数值类型的。isNumber(Object val);

var a=isNumber(query);

isDate

检测对象是否是日期类型的。isDate(Object val)

var a=isDate(sell_date);

getWeek

从 Date 对象返回一年中的第几周 。

var d = new Date("July 10, 2012 01:15:00");

var a=getWeek(d);

getDate

返回一个java的日期

var d = new Date("July 21, 1983 01:15:00");

var a=getDate(d);

cloneDate

复制日期

var d = new Date("July 21, 1983 01:15:00");

var a=cloneDate(d);

formatDate

给日期设定显示格式。formatDate(Object val,String fmtstr);

var date= new Date("July 21, 1983 01:15:00");

var a=formatDate(date,"yyyy-MM-dd mm:hh");

parseDate

解析一个日期的字符串,并返回该日期距1970年1月1日午夜之间的毫秒数

var str = "1991-10-01";

parseDate(str, "yyyy-MM-dd");

dateAdd

dateAdd用来给日期添加指定时间间隔

var date= new Date("July 21, 1983 01:15:00");

var d=dateAdd(date,"month",1);//增加一月

dateGap

两个日期之间的时间差,支持year /quarter/month/weekofyear(dayofweek)/ dayofyear(dayofmonth) /hour         minute /second

var date= new Date("July 21, 2012 01:15:00");

var date2= new Date("June 10, 2012 01:15:00");

var a =dateGap(date,date2,"month");

datePart

取出年、月、日等各部分的数值

var date= new Date("July 21, 1983 01:15:00");

var a=datePart(date,"year");//a=1983

split

把字符串分割为字符串数组。split(String str, String delim, Object limit);

var str="How are you doing today?";

var b=str.split(" ");

结果为How,are,you,doing,today?

split2Array

将字符串分割为字符串数组。

var a ="How are you";

var b=split2Array(a,2);

formatNumber

函数可返回作为数字被格式化的表达式。

var a =formatNumber(498.8573945,"#,##0.##");就可以输出:498.86

toString

可把一个逻辑值转换为字符串,并返回结果。

var b=2.34;

var a =toString(b);

substring

返回一个新的字符串,它是此字符串的一个子字符串。

var b=”Hello world”;

var a =b.substring(0,3);

sqr

对数据求平方。sqr(Object val);

var a=sqr(2);//a=4

sqrt

返回给定数据的平方根。

sqrt(9);

var a=sqrt(9);//a=3

abs

返回给定数据的绝对值。

abs(-7);

var a=abs(-7);//a=7

debug

向记录文件打印信息。debug(Object msg);l

debug("msg");

execute

运行出一个查询。execute  (Scriptable script, int type, String path)//Scriptale script是脚本的作用域,type是查询的类型

var data=execute(this, Embed, "query1");

preExecute

先预编译出一个查询

preExecute(Scriptablescript,inttype,Stringpath,Object allcols)

var a=preExecute(this,SQL,"data",true);

var b=executed(a);

setData("表1",b,DATA);

executed

运行出预编译出一个查询

executed(Object executedID)

var a=preExecute(this,SQL,"data",true);

var b=executed(a);

setData("表1",b,DATA);
作者: 永洪tech-zyc    时间: 2021-5-18 17:55
glj 发表于 2021-5-18 17:49
我看之前的问题里面有execute的,这个可以实现吗?
可以尝试下

executed

运行出预编译出一个查询

executed(Object executedID)

var a=preExecute(this,SQL,"data",true);

var b=executed(a);

setData("表1",b,DATA);
preExecute
先预编译出一个查询
preExecute(Scriptablescript,inttype,Stringpath,Object allcols)
var a=preExecute(this,SQL,"data",true);
var b=executed(a);
setData("表1",b,DATA);


作者: glj    时间: 2021-5-18 17:59
永洪tech-zyc 发表于 2021-5-18 17:53
函数

说明

那就是说preexecute是可以实现的是吧,这个不需要指定数据源吗?那个data参数是啥啊?
作者: 永洪tech-zyc    时间: 2021-5-18 18:07
glj 发表于 2021-5-18 17:59
那就是说preexecute是可以实现的是吧,这个不需要指定数据源吗?那个data参数是啥啊? ...
❖执行查询的函数
一个已经定义的数据集,可以通过调用执行函数,返回查询的结果。
execute(Scriptable scope, int type, String path, Object allCols)
• 参数:
scope 是指运行此脚本的作用域,通常用 this,表示当前作用域。
type 是指数据集的类型,支持的 10种类型 :SQL, EXCEL, SCRIPT, CUSTOM, CLOUD, EMBED,COMPOSITE,  MONGO,  DATA_FLOW, MDX。
path 是指数据集的路径及名称。如果有目录就用 '/' 连接起来。
allCols 是指当为 true 时,数据集的表达式列可见,当为 false 时 , 数据集的表达式列不可见。
• 返回:
一个查询的结果
• 举例:
execute(this, EMBED, "folder1/query1", true);

你还是需要创建数据集,然后这里的路径就是你 数据集下的目录相对路径
作者: glj    时间: 2021-5-18 18:09
永洪tech-zyc 发表于 2021-5-18 18:07
❖执行查询的函数一个已经定义的数据集,可以通过调用执行函数,返回查询的结果。execute(Scriptable scope ...

好的,我试下,多谢
作者: 美滋滋    时间: 2021-5-19 09:16
glj 发表于 2021-5-18 18:09
好的,我试下,多谢

例:
var query1=execute(this,SQL, 'coffee3');      
//第一个参数默认写this,第二个参数是数据集类型,根据你的数据集类型填写就好,比如SQL数据集填写SQL,EXCEL数据集填写EXCEL等,第三个参数是查询的数据集路径

var a=toArray(query1,"product");   
//将查询结果中的product字段数据列转换成1维数组存储在a中。




欢迎光临 永洪社区 (https://club.yonghongtech.com/) Powered by Discuz! X3.4