更改表單的佈局

information

本頁面使用機器翻譯而成。
機器翻譯免責聲明 (External link)

目錄

更改表單的佈局

取得應用程式的表單的排版
此 API 允許您更改以下設定:

  • 欄位的高度和寬度
  • 表中的欄位及其順序
  • 組欄位中的欄位及其佈局
  • 設置標籤、間距和邊框

此 API 在測試環境中修改應用。
如果要將更改傳播到生產環境,請運行此 API,然後 運行將應用設置傳播到生產環境的 API

URL

常規應用
https://sample.cybozu.com/k/v1/preview/app/form/layout.json
建立訪客空間
https://sample.cybozu.com/k/guest/GUEST_SPACE_ID/v1/preview/app/form/layout.json

HTTP 方法

PUT

所需許可權

  • 應用程式管理

請求

參數

為表單上的所有欄位指定佈局。省略參數的設置不會更改。

參數名稱 必須 說明
app 數位或字串 必須 應用ID
layout 陣列 必須 表單的逐行佈局清單
layout[].type 字串 必須 行類型
  • ROW:標準
  • SUBTABLE:表格名稱
  • GROUP:在組欄位中
layout[].code 字串 條件必填項 表或組的域代碼
layout[].type 如果為 "SUBTABLE" 或 "GROUP",則為必填項。
layout[].fields 陣列 必須 行中的欄位清單
layout[].fields[].type 字串 必須 欄位類型
  • CALC:計算
  • CHECK_BOX:核取方塊
  • CREATED_TIME:建立時間
  • CREATOR:建立人
  • DATE:日期
  • DATETIME:日期與時間
  • DROP_DOWN:下拉式選單
  • FILE:附件
  • GROUP:群組
  • GROUP_SELECT:選擇群組
  • HR:統治
  • LABEL:標籤
  • LINK:連結
  • MODIFIER:更新人
  • MULTI_LINE_TEXT:多行文字方塊
  • MULTI_SELECT:複選
  • NUMBER:數值
  • ORGANIZATION_SELECT:選擇組織
  • RADIO_BUTTON:選項按鈕
  • RECORD_NUMBER:記錄號碼
  • REFEFENCE_TABLE:相關記錄清單
  • RICH_TEXT:文字編輯方塊
  • SINGLE_LINE:單行文字方塊
  • SPACER:空間
  • TIME:時間
  • UPDATED_TIME:更新時間
  • USER_SELECT:選擇使用者
查找欄位由源欄位的欄位類型指定。
layout[].fields[].code 字串 條件必填項 欄位代碼
layout[].fields[].type 如果不是"LABEL"、"SPACER"或"HR",則為必填項。
layout[].fields[].label 字串 自選 標籤欄位的標籤名稱
layout[].fields[].type 是"LABEL"。
如果省略,則設置空字元。
layout[].fields[].elementId 字串 自選 空間欄位的元素 ID
layout[].fields[].type 是"SPACER"。
如果省略,則設置空字元。
layout[].fields[].size 物件 自選 欄位的大小
根據欄位的位置,它們可能與指定的大小不同。
layout[].fields[].size.width 數位或字串 自選 欄位的寬度(以像素為單位)
您可以在以下欄位中指定它:
  • 單行文字方塊
  • 多行文字方塊
  • 文字編輯方塊
  • 數值
  • 計算
  • 時間
  • 日期
  • 日期與時間
  • 複選
  • 下拉式選單
  • 選項按鈕
  • 核取方塊
  • 附件
  • 選擇使用者
  • 連結
  • Lookup
  • 標籤
  • 空間
  • 分隔線
  • 記錄號碼
  • 建立人
  • 建立時間
  • 更新人
  • 更新時間
layout[].fields[].size.height 數位或字串 自選 欄位的高度(以像素為單位),包括欄位名稱
layout[].fields[].type 是"SPACER"。
layout[].fields[].size.innerHeight 數位或字串 自選 欄位的高度(以像素為單位),不包括欄位名稱
它只能在以下欄位中指定:
  • 多行文字方塊
  • 文字編輯方塊
layout[].layout 陣列 自選 組中欄位的佈局清單
結構與layout 相同。
revision 數位或字串 自選 預期修訂號
如果它與實際修訂號不匹配,則會發生錯誤,並且不會添加該欄位。
如果指定值"-1"或未指定值,則不會驗證修訂號。
示例請求
URL

https://sample.cybozu.com/k/v1/preview/app/form/layout.json

頁眉
1
2
3
4
{
  "X-Cybozu-API-Token": "API_TOKEN",
  "Content-Type": "application/json"
}

關於請求頭,請參見 kintone REST API的通用規範

身體
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
{
  "app": 1,
  "revision": 2,
  "layout": [
    {
      "type": "ROW",
      "fields": [
        {
          "type": "SINGLE_LINE_TEXT",
          "code": "字串",
          "size": {
            "width": 200
          }
        },
        {
          "type": "MULTI_LINE_TEXT",
          "code": "多行文字方塊",
          "size": {
            "width": 200,
            "innerHeight": 100
          }
        },
        {
          "type": "LABEL",
          "label": "label",
          "size": {
            "width": 200
          }
        },
        {
          "type": "SPACER",
          "elementId": "spacer",
          "size": {
            "width": 200,
            "height": 100
          }
        },
        {
          "type": "HR",
          "size": {
            "width": 200
          }
        }
      ]
    },
    {
      "type": "SUBTABLE",
      "code": "表格",
      "fields": [
        {
          "type": "NUMBER",
          "code": "數值",
          "size": {
            "width": 200
          }
        }
      ]
    },
    {
      "type": "GROUP",
      "code": "群組",
      "layout": [
        {
          "type": "ROW",
          "fields": [
            {
              "type": "NUMBER",
              "code": "數值",
              "size": {
                "width": 200
              }
            }
          ]
        }
      ]
    }
  ]
}

回應

財產
屬性名稱 說明
revision 字串 更改應用設置后的修訂號
示例回應
1
2
3
{
  "revision": "4"
}

示例代碼

使用 curl 的請求
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
curl -X PUT 'https://sample.cybozu.com/k/v1/preview/app/form/layout.json' \
  -H 'X-Cybozu-API-Token: API_TOKEN' \
  -H 'Content-Type: application/json' \
  -d '{
    "app": 1,
    "revision": 2,
    "layout": [
      {
        "type": "ROW",
        "fields": [
          {
            "type": "SINGLE_LINE_TEXT",
            "code": "字串",
            "size": {
              "width": 200
            }
          },
          {
            "type": "MULTI_LINE_TEXT",
            "code": "多行文字方塊",
            "size": {
              "width": 200,
              "innerHeight": 100
            }
          },
          {
            "type": "LABEL",
            "label": "label",
            "size": {
              "width": 200
            }
          },
          {
            "type": "SPACER",
            "elementId": "spacer",
            "size": {
              "width": 200,
              "height": 100
            }
          },
          {
            "type": "HR",
            "size": {
              "width": 200
            }
          }
        ]
      }
    ]
  }'
使用 發送kintone REST API請求的API發送的請求
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
const body = {
  app: 1,
  revision: 2,
  layout: [
    {
      type: 'ROW',
      fields: [
        {
          type: 'SINGLE_LINE_TEXT',
          code: '字串',
          size: {
            width: 200,
          }
        },
        {
          type: 'MULTI_LINE_TEXT',
          code: '多行文字方塊',
          size: {
            width: 200,
            innerHeight: 100
          }
        },
        {
          type: 'LABEL',
          label: 'label',
          size: {
            width: 200,
          }
        },
        {
          type: 'PACER',
          elementId: 'spacer',
          size: {
            width: 200,
            height: 10,
          }
        },
        {
          type: 'HR',
          size: {
            width: 200,
          }
        }
      ]
    }
  ]
};

await kintone.api(kintone.api.url('/k/v1/preview/app/form/layout.json'), 'PUT', body);