Skip to content

视图(View)

View 对象,表示视图相关

方法列表

方法说明
清空视图指定区域单元格内容
清空当前单元格内容
创建视图
根据 RecordId 删除对应记录
根据视图 ID 删除视图
删除行的数据
返回当前激活单元格信息
获取当前视图 ID
获取 AtID 对应的位置
读取网格行高
获取分组依据
返回看板视图的最大滚动高度
从 RecordID 获取数据
获取当前视图的记录数
从当前视图的可视行号获取 RecordID
获取滚动条的位置
获取横向滚动条最大值
获取纵向滚动条最大值
返回当前选区信息
获取文档绘制区域的尺寸
插入 RecordCount 条空白记录都表中
跳转至指定@位置
将视图中的指定行移动到新的位置
修改视图名称
修改数据
设置分组依据
设置网格行高
设置看板视图的滚动滑块位置
设置绘制时某些元素不显示
设置横向滚动条是否可见
设置滚动条横向滑块位置
设置滚动条纵向滑块位置
跳转到指定表的指定行位置

ClearRangeValues()

清空视图指定区域单元格内容

语法

表达式.ActiveDBSheet.View.ClearRangeValues({ RowFrom, RowTo, ColFrom, ColTo })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
RowFrom
Number
【行】开始位置
RowTo
Number
【行】结束位置
ColFrom
Number
【列】开始位置-在卡片视图就是第 N 行的第 M 个字段
ColTo
Number
【列】结束位置-在卡片视图就是第 N 行的第 M 个字段

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 清空视图指定区域单元格内容
  const result = await app.ActiveDBSheet.View.ClearRangeValues({
    RowFrom: 1, // 【行】开始位置
    RowTo: 1, // 【行】结束位置
    ColFrom: 1, // 【列】开始位置-在卡片视图就是第 N 行的第 M 个字段
    ColTo: 1 // 【列】结束位置-在卡片视图就是第 N 行的第 M 个字段
  })
}

ClearValues()

清空当前单元格内容

语法

表达式.ActiveDBSheet.View.ClearValues()

表达式:文档类型应用对象

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 清空当前单元格内容
  await app.ActiveDBSheet.View.ClearValues()
}

CreateView()

创建视图

语法

表达式.ActiveDBSheet.View.CreateView({ Type, Name })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Type
Enum/String
视图类型,可选网格视图 Grid 或者看板视图 Kanban,详细可见 Enum.ViewType
Name
String
视图名称

示例:创建网格视图

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 创建网格视图
  await app.ActiveDBSheet.View.CreateView({
    Type: 'Grid', // 视图类型-网格视图
    Name: 'WebOffice' // 视图名称
  })
}

示例:创建看板视图

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 创建网格视图
  await app.ActiveDBSheet.View.CreateView({
    Type: 'Kanban', // 视图类型-网格视图
    Name: 'WebOffice' // 视图名称
  })
}

DeleteRecord()

根据 RecordId 删除对应记录

语法

表达式.ActiveDBSheet.View.DeleteRecord({ RecordId })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
RecordId
String
RecordId,从 ActiveDBSheet.View.GetRecordId() 获取

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取 recordID
  const recordID = await app.ActiveDBSheet.View.GetRecordId({
    ViewRow: 1 // 行号
  })

  // 根据 RecordId 删除对应记录
  const result = await app.ActiveDBSheet.View.DeleteRecord({
    RecordId: recordID
  })
}

DeleteView()

根据视图 ID 删除视图

语法

表达式.ActiveDBSheet.View.DeleteView({ ID })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ID
String
视图 id,可通过 ActiveDBSheet.View.GetActiveViewId() 获取

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前视图 ID
  const id = await app.ActiveDBSheet.View.GetActiveViewId()

  // 根据视图 ID 删除视图
  await app.ActiveDBSheet.View.DeleteView({
    ID: id // 视图 id
  })
}

DeleteViewRow()

删除行的数据

语法

表达式.ActiveDBSheet.View.DeleteViewRow({ ViewRow })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ViewRow
Number
行号

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 删除行的数据
  const id = await app.ActiveDBSheet.View.DeleteViewRow({
    ViewRow: 1 // 行号
  })
}

GetActiveCell()

返回当前激活单元格信息

语法

表达式.ActiveDBSheet.View.GetActiveCell()

表达式:文档类型应用对象

返回值

属性数据类型说明
row
Number
单元格所在的行
col
Number
单元格所在的列

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回当前激活单元格信息
  const info = await app.ActiveDBSheet.View.GetActiveCell()
  console.log(info)
}

GetActiveViewId()

获取当前视图 ID

语法

表达式.ActiveDBSheet.View.GetActiveViewId()

表达式:文档类型应用对象

返回值

返回 String 类型表明当前视图 ID

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前视图 ID
  const info = await app.ActiveDBSheet.View.GetActiveViewId()
  console.log(info)
}

GetAtGridPos()

获取 AtID 对应的位置

语法

表达式.ActiveDBSheet.View.GetAtGridPos({ AtID })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
AtID
String
@ ID

返回值

调用成功返回 {X, Y}, 没找到的话返回 {X: -1, Y: -1}

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取 AtID 对应的位置
  const pos = await app.ActiveDBSheet.View.GetAtGridPos({
    AtID: 'xxx' // @ID
  })
  console.log(pos)
}

GetGridRowHeight()

读取网格行高

语法

表达式.ActiveDBSheet.View.GetGridRowHeight()

表达式:文档类型应用对象

返回值

返回 String 类型表明当前网格行高,正常情况下有 Short、Medium、Tall、ExtraTall 四个值

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 读取网格行高
  const info = await app.ActiveDBSheet.View.GetGridRowHeight()
  console.log(info)
}

GetGroupByList()

获取分组依据

语法

表达式.ActiveDBSheet.View.GetGroupByList()

表达式:文档类型应用对象

返回值

返回 Array.Object 表示对应的分组依据列表,每一项的数据如下:

属性数据类型默认值必填说明
Name
String
分组依据项的文本标题
FieldId
String
分组依据项的 fieldId

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取分组依据,分组依据不对应分组条件项,不是按照分组条件返回的
  const data = await app.ActiveDBSheet.View.GetGroupByList()
  console.log(data)
}

GetKanbanScrollHeight()

返回看板视图的最大滚动高度

语法

表达式.ActiveDBSheet.View.GetKanbanScrollHeight()

表达式:文档类型应用对象

返回值

返回 Number 表示最大滚动高度

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回看板视图的最大滚动高度
  const Height = await app.ActiveDBSheet.View.GetKanbanScrollHeight()
  console.log('高度:', Height)
}

GetRecord()

从 RecordID 获取数据

语法

表达式.ActiveDBSheet.View.GetRecord({ RecordId })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
RecordId
Number
RecordId,可通过 ActiveDBSheet.View.GetRecordId 获取

返回值

返回 Array<String> 表示对应的数据

举例:["WebOffice 1", "1.00 "]

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 从当前视图的可视行号获取 RecordID
  const id = await app.ActiveDBSheet.View.GetRecordId({
    ViewRow: 1 // 行号
  })

  // 从 RecordID 获取数据
  const info = await app.ActiveDBSheet.View.GetRecord({
    RecordId: id // 行号
  })
  console.log(info)
}

GetRecordCount()

获取当前视图的记录数

语法

表达式.ActiveDBSheet.View.GetRecordCount()

表达式:文档类型应用对象

返回值

返回 Number 类型表明当前视图的记录数

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前视图的记录数
  const info = await app.ActiveDBSheet.View.GetRecordCount()
  console.log(info)
}

GetRecordId()

从当前视图的可视行号获取 RecordID

语法

表达式.ActiveDBSheet.View.GetRecordId({ ViewRow })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ViewRow
Number
行号

返回值

返回 String 表示对应的 RecordID

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 从当前视图的可视行号获取 RecordID
  const id = await app.ActiveDBSheet.View.GetRecordId({
    ViewRow: 1 // 行号
  })
  console.log(id)
}

GetScrollBar()

获取滚动条的位置

语法

表达式.ActiveDBSheet.View.GetScrollBar()

表达式:文档类型应用对象

返回值

调用成功返回 {X, Y}

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取滚动条的位置
  const pos = await app.ActiveDBSheet.View.GetScrollBar()
  console.log(pos)
}

GetScrollXMax()

获取横向滚动条最大值

语法

表达式.ActiveDBSheet.View.GetScrollXMax()

表达式:文档类型应用对象

返回值

返回 Number 表示横向滚动条最大值

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取横向滚动条最大值
  const Value = await app.ActiveDBSheet.View.GetScrollXMax()
  console.log(Value)
}

GetScrollXMax()

获取纵向滚动条最大值

语法

表达式.ActiveDBSheet.View.GetScrollXMax()

表达式:文档类型应用对象

返回值

返回 Number 表示纵向滚动条最大值

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取纵向滚动条最大值
  const Value = await app.ActiveDBSheet.View.GetScrollXMax()
  console.log(Value)
}

GetSelection()

返回当前选区信息

语法

表达式.ActiveDBSheet.View.GetSelection()

表达式:文档类型应用对象

返回值

返回 Array.Object 表示对应的分组依据列表,每一项的数据如下:

属性数据类型说明
ColFrom
Number
【列】选区开始位置
ColTo
Number
【列】选区结束位置
RowFrom
Number
【行】选区开始位置
RowTo
Number
【行】选区结束位置

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 返回当前选区信息
  const info = await app.ActiveDBSheet.View.GetSelection()
  console.log(info)
}

GetViewRect()

获取文档绘制区域的尺寸

语法

表达式.ActiveDBSheet.View.GetViewRect()

表达式:文档类型应用对象

返回值

属性数据类型说明
Height
Number
宽度
Width
Number
高度

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取文档绘制区域的尺寸
  const ViewSize = await app.ActiveDBSheet.View.GetViewRect()
  console.log('宽度:', ViewSize.Width)
  console.log('高度:', ViewSize.Height)
}

InsertRecord()

插入 RecordCount 条空白记录到表中

语法

表达式.ActiveDBSheet.View.InsertRecord({ RecordCount })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
RecordCount
Number
空白记录条数

返回值

返回 Array<> 表示新增的记录

举例:["Bu", "Bv", parent: {…}]

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 先查询之前记录条数
  const oldCount = await app.ActiveDBSheet.View.GetRecordCount()

  // 往未指定分组添加记录数
  const id = await app.ActiveDBSheet.View.InsertRecord({
    RecordCount: 2 // 空白记录条数
  })

  // 插入 RecordCount 条空白记录到表中
  const count = await app.ActiveDBSheet.View.GetRecordCount() // 这里看出是新增了 2 条记录的(相比之前)
  console.log(count)

  console.log(oldCount - count === 2)
}

JumpAtLocation()

跳转至指定@位置

语法

表达式.ActiveDBSheet.View.JumpAtLocation({ AtID })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
AtID
String
@ID

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 跳转至指定@位置
  await app.ActiveDBSheet.View.JumpAtLocation({
    AtID: 'xxx' // @ID
  })
}

MoveRow()

将视图中的指定行移动到新的位置

语法

表达式.ActiveDBSheet.View.MoveRow({ ViewRow, ToRow })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ViewRow
Array<Number>
行号数组
ToRow
Number
移动后的行号

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 将视图中的指定行移动到新的位置
  const id = await app.ActiveDBSheet.View.MoveRow({
    ViewRow: [1, 2], // 行号数组
    ToRow: 4 // 移动后的行号,注:实际移动至行号3的位置
  })
}

RenameView()

修改视图名称

语法

表达式.ActiveDBSheet.View.RenameView({ ID, Name })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ID
String
视图 id,可通过 ActiveDBSheet.View.GetActiveViewId() 获取
Name
String
视图名称

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 获取当前视图 ID
  const id = await app.ActiveDBSheet.View.GetActiveViewId()

  // 修改视图名称
  await app.ActiveDBSheet.View.RenameView({
    ID: id, // 视图 id
    Name: 'WebOffice' // 视图名称
  })
}

SetCellValue()

修改数据

语法

表达式.ActiveDBSheet.View.SetCellValue({ ViewRow, ViewCol, Value })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ViewRow
Number
行号
ViewCol
Number
列号-在卡片视图就是第 N 行的第 M 个字段
Value
String

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 修改数据
  const id = await app.ActiveDBSheet.View.SetCellValue({
    ViewRow: 1, // 行号
    ViewCol: 1, // 列号-在卡片视图就是第 N 行的第 M 个字段
    Value: 'JSSDK' // 值
  })
}

SetConditionField()

设置分组依据

语法

表达式.ActiveDBSheet.View.SetConditionField({ Index })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Index
Number
索引

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置分组依据,建议结合View.GetGroupByList()使用
  await app.ActiveDBSheet.View.SetConditionField({
    Index: 1 // 索引
  })
}

SetGridRowHeight()

设置网格行高

语法

表达式.ActiveDBSheet.View.SetGridRowHeight({ RowHeightType })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
RowHeightType
Enum/String
行高,可选 Short、Medium、Tall、ExtraTall,详细可见 Enum.RowHeightType

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置网格行高
  await app.ActiveDBSheet.View.SetGridRowHeight({
    RowHeightType: 'ExtraTall' // 2 倍行高
  })
}

SetKanbanScrollPos()

设置看板视图的滚动滑块位置

语法

表达式.ActiveDBSheet.View.SetKanbanScrollPos({ Value })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Value
Number
设置滚动位置的值

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置看板视图的滚动滑块位置
  await app.ActiveDBSheet.View.SetKanbanScrollPos({
    Value: 1080
  })
}

SetRenderItemVisible()

设置绘制时某些元素不显示

语法

表达式.ActiveDBSheet.View.SetRenderItemVisible({ ItemName, Visible })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
ItemName
Enum
元素名称。取值为 Enum.RenderItem
Visible
Boolean
是否隐藏

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置绘制时某些元素不显示
  await app.ActiveDBSheet.View.SetRenderItemVisible({
    ItemName: 'colHeaderAddBtn', // 设置【增加新列】
    Visible: false // 不可见
  })
}

SetScrollVisible()

设置横向滚动条是否可见

说明

仅当前视图有效,切换视图后设置失效

  1. 表格视图:不受影响
  2. 看板视图:横向滚动条消失,但是各分组的纵向滚动条还存在
  3. 画册视图:纵向滚动条消失,并且不可以用滚轮滚动

语法

表达式.ActiveDBSheet.View.SetScrollVisible({ Visible })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Visible
Boolean
是否可见

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置横向滚动条是否可见
  await app.ActiveDBSheet.View.SetScrollVisible({
    Visible: false
  })
}

SetScrollXPos()

设置滚动条横向滑块位置

语法

表达式.ActiveDBSheet.View.SetScrollXPos({ X })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
X
Number
设置滚动位置的值

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置滚动条横向滑块位置
  await app.ActiveDBSheet.View.SetScrollXPos({
    X: 100
  })
}

SetScrollYPos()

设置滚动条纵向滑块位置

语法

表达式.ActiveDBSheet.View.SetScrollYPos({ Y })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
Y
Number
设置滚动位置的值

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 设置滚动条纵向滑块位置
  await app.ActiveDBSheet.View.SetScrollYPos({
    Y: 100
  })
}

TriggerLocation()

跳转到指定表的指定行位置

语法

表达式.ActiveDBSheet.View.TriggerLocation({ SheetId, RecordId })

表达式:文档类型应用对象

参数

属性数据类型默认值必填说明
SheetId
Number
当前 DBSheet 表的 id,可通过 ActiveDBSheet.Sheet.GetActiveSheetIndex 获取 SheetId
RecordId
String
可通过 ActiveDBSheet.View.GetRecordId 获取 RecordId
FieldId
String
可通过 ActiveDBSheet.Field.GetFieldId 获取 FieldId,指定时可定位到字段,不指定时定位到记录

示例

js
async function example() {
  await instance.ready()

  const app = instance.Application

  // 跳转到指定表的指定行位置
  await app.ActiveDBSheet.View.TriggerLocation({
    SheetId: 1,    // 当前 Sheet 的索引
    RecordId: 'E', // 行号
    FieldId: 'E'   // 列号
  })
}