Criteria.Values (属性)
说明
筛选条件项值
各筛选规则独立地限制了values数组内最多允许填写的元素数,当values内元素数超过阈值时,该筛选规则将失效。“为空、不为空”只允许在op为“Intersected”时填写。“介于”允许最多填写2个元素;“指定值”允许填写65535个元素;其他规则允许最多填写1个元素 values[]数组内的元素为字符串时,表示文本匹配。目前还支持对日期进行动态筛选,此时values[]内的元素需以结构体的形式给出:
const dateValue = {"dynamicType": "lastMonth","type": "DynamicSimple"}
Criteria("@日期", "Equals", [dateValue])
上述示例对应的筛选条件为“等于上一个月”。 要使用日期动态筛选,values[]内的结构体需要指定"type": "DynamicSimple",当"op"为"equals"时,"dynamicType"可以为如下的值(大小写不敏感):
枚举值 | 描述 |
---|---|
today | 今天 |
yesterday | 昨天 |
tomorrow | 明天 |
last7Days | 最近7天 |
last30Days | 最近30天 |
thisWeek | 本周 |
lastWeek | 上周 |
nextWeek | 下周 |
thisMonth | 本月 |
lastMonth | 上月 |
nextMonth | 次月 |
当"op"为"greater"或"less"时,"dynamicType"只能是昨天、今天或明天。
当"op"为"Intersected"时,value=[{type: 'Any'}]表示全选,value=[{type: '', value: ''}]表示空白
对不同字段类型,values会有不同的用法 联系人字段:
// value是一个结构体,指定type为 Contact, value 为用户id
const dateValue = {"type":"Contact", value:"user id"}
单/多选项字段:
// value是一个结构体,指定type为 SelectItem, value 为选项的ID
const dateValue = {"type":"SelectItem", value:"B"}
浏览器环境示例
javascript
async function example() {
// 添加一个筛选条件
await instance.ready();
const app = instance.Application;
const filters = await app.Sheets(1).Views(1).Filters;
const criteria = app.Criteria(1, 'Equals', ['1'])
const filter = await filters.Add(criteria);
// 读取添加的筛选条件规则
const criteria = await app.Sheets(1).Views(1).Filters.item(1).Criteria
console.log(criteria.Op) // "Equals"
console.log(criteria.Field) // 1
console.log(criteria.Values) // [{type: 'Text', value: '1'}]
}
脚本编辑器示例
javascript
function main() {
// 添加一个筛选条件
const filters = Application.Sheets(1).Views(1).Filters;
const criteria = Application.Criteria(1, 'Equals', ['1'])
const filter = filters.Add(criteria);
// 读取添加的筛选条件规则
const criteria = Application.Sheets(1).Views(1).Filters.item(1).Criteria
console.log(criteria.Op) // "Equals"
console.log(criteria.Field) // 1
console.log(criteria.Values) // [{type: 'Text', value: '1'}]
}
main()