Skip to content

表格

表格控件用于展示和操作列表数据,支持数据加载、搜索、增删改查等操作。

属性

sg-autocheck

  • 说明:开启自动选择,表格被点击,自动勾选第一个 checkbox 或 radio
  • 类型boolean | string
  • 默认值false

可选值

说明
true开启
false关闭
"shift"可以按住 shift 多行选择

示例

json
"sg-autocheck":false

sg-bottom

  • 说明:调整表格高度,底部保留高度。"auto":根据表格底部控件高度自动调整,填入数字则保留多少个像素的高度
  • 类型string | number
  • 默认值"auto"

可选值

说明
"auto"根据表格底部控件高度自动调整
数字保留多少个像素的高度

示例

json
"sg-bottom":"auto"

sg-cellCallback

  • 说明:【方法】自定义单元格样式回调方法
  • 类型string

返回值

类型说明
Objectoptions表格行/列数据
stringoptions.index行索引
Objectoptions.rowData行数据
stringoptions.colProp列字段名
stringoptions.cellValue列值

示例

json
"sg-cellCallback":"setTableStyle"

用法

js
function setTableStyle(options){
    var {index, rowData, colProp, cellValue} = options;
    var styleMap = {};

    if(index == 0){
        styleMap["background-color"] = "#f2f2f2";
    }

    if(colProp == "QC_GRADE"){
        styleMap["background-color"] = "#ffffffff";
    }

    if(colProp == "QC_GRADE" && cellValue == "不合格"){
        styleMap["background-color"] = "#ff0000ff";
    }

    if(rowData["FLAW_NUM"] == 1 && colProp == "QC_GRADE" && cellValue == "A品"){
        styleMap["background-color"] = "#16ff63ff";
    }

    return styleMap;
}

sg-checkboxshift

  • 说明:表格中的 checkbox 自动开启,按住 shift 可以多行选择
  • 类型boolean | string
  • 默认值"column"

可选值

说明
true开启
false禁用
"column"根据列配置 sg-shiftenabled,开启

示例

json
"sg-checkboxshift":true

sg-cmdcode

  • 说明:表格绑定的指令编码
  • 类型string

示例

json
"sg-cmdcode":"getuser"

sg-customview

  • 说明:开启自定义视图(操作者可以自定义显示隐藏的表格列,可以通过拖拉拽改变字段顺序)
  • 类型boolean
  • 默认值false

可选值

说明
true开启
false关闭

示例

json
"sg-customview":false

sg-defpagesize

  • 说明:表格默认的 page_size
  • 类型number

示例

json
"sg-defpagesize":10

sg-drag

  • 说明:开启表格拖拽排序
  • 类型number

示例

json
"sg-drag":1

sg-dragevent

  • 说明:【方法】表格拖拽排序事件(sg-drag:1 有效),只填方法名,方法的入参有两个,例如:dragevent_function(list, data),list:为整个表格数据,data:拖拽数据
  • 类型string

示例

json
"sg-dragevent":"dragevent_function"

sg-dynamic

  • 说明:【方法】动态列,填入动态列的方法名,根据格式返回报文
  • 类型string

示例

json
"sg-dynamic":"dynamic_func"

sg-enter

  • 说明:【方法】按键事件,上下移动选中行,左右触发上一页下一页,回车键执行函数
  • 类型string

示例

json
"sg-enter":"enter_function()"

sg-entermode

  • 说明:回车键事件(表格里面有 input 生效)
  • 类型string
  • 默认值"tab"

可选值

说明
"tab"向右
"down"向下
"none"关闭

示例

json
"sg-entermode":"tab"

sg-export

  • 说明:导出 excel 表格(右键点击表格会出现"导出"选项),不配置默认开启自动模式
  • 类型number | boolean
  • 默认值1

可选值

说明
0false关闭
1自动(有指令编码+分页:后端模式导出;无分页无指令:前端导出)
2前端(只导出当前表格的内容)
3后端(可以导出每一页的内容)

示例

json
"sg-export":"1"

sg-focusselect

  • 说明:表格内的 input 控件聚焦自动选择
  • 类型boolean
  • 默认值true

可选值

说明
true开启
false关闭

示例

json
"sg-focusselect":false

sg-foot

  • 说明:开启表格底部
  • 类型boolean | string
  • 默认值false

可选值

说明
true1开启
"top"开启并且置顶
false关闭表尾

示例

json
"sg-foot":false

sg-height

  • 说明:表格强制限高,超过出现滚动条(表头固定顶部)
  • 类型string

示例

json
"sg-height":"500px"

sg-loaddata

  • 说明:表格渲染后,是否自动加载数据
  • 类型boolean
  • 默认值true

可选值

说明
true开启
false关闭

示例

json
"sg-loaddata":true

sg-loadevent

  • 说明:【方法】表格手动加载方法(sg-loaddata=false 生效)
  • 类型string

示例

json
"sg-loadevent":false

sg-mplthead

  • 说明:【方法】多行表头,填入多行表头的方法名,根据格式返回报文
  • 类型string

示例

json
"sg-mplthead":"mplthead_func"

sg-nowrap

  • 说明:表格根据内容展开,1 或 true 表头展开,如果需要控制表体、表尾,可以用三位数(字符串表示),第一位:表头,第二位:表体,第三位:表尾(例如:"100",就是表头和表体展开)
  • 类型boolean | string
  • 默认值false

可选值

说明
1true表头展开
三位数字符串第一位:表头,第二位:表体,第三位:表尾(例如:"100")

示例

json
"sg-nowrap":false

sg-ordercolumn

  • 说明:默认排序字段
  • 类型string

示例

json
"sg-ordercolumn":"ID"

sg-ordertype

  • 说明:默认排序方式
  • 类型string
  • 默认值"ASC"

可选值

说明
"ASC"升序
"DESC"降序

示例

json
"sg-ordertype":"ASC"

sg-pager

  • 说明:是否开启分页
  • 类型boolean
  • 默认值true

可选值

说明
true开启
false关闭

示例

json
"sg-pager":true

sg-pagesize

  • 说明:表格的 page_size 列表
  • 类型Array

示例

json
"sg-pagesize":[10,20,30,50,100]

sg-savepagesize

  • 说明:是否开启 page_size 记忆,不配置默认开启自动模式
  • 类型number | boolean
  • 默认值1

可选值

说明
0false关闭
1开启

示例

json
"sg-savepagesize":1

sg-scroll

  • 说明:表格支持横向滚动
  • 类型boolean
  • 默认值false

可选值

说明
true开启
false关闭

示例

json
"sg-scroll":false

sg-tbodysch

  • 说明:是否开启表格筛选
  • 类型boolean | number | string
  • 默认值false

可选值

说明
true1开启前端条件筛选 + 智能筛选(后端模式)
2只开启前端条件筛选
3只开启智能筛选(后端模式)
4前端条件筛选 + 智能筛选(前端模式)
5只开启前端智能筛选(前端模式)
false关闭
"auto"自动(不开启分页器自动开启,前端条件筛选 + 智能筛选后端模式)

示例

json
"sg-tbodysch":false

备注

"auto" 自动模式表格在不开启分页器自动开启,前端条件筛选 + 智能筛选(后端模式),前端模式仅在表格的当前页筛选,后端模式是全表筛选,如果当前表的数据比较多,可能会比较消耗资源。


sg-trhover

  • 说明:开启表格行(tr)鼠标悬停样式 trhover
  • 类型number | boolean
  • 默认值1

可选值

说明
1true开启
0关闭

示例

json
"sg-trhover":1

sg-viewtag

  • 说明:自定义视图用的标签,多个功能共用一个页面的自定义视图,用于区分不同的功能
  • 类型string

示例

json
"sg-viewtag":"customview1"

方法

loadTableData

手动加载表格数据。

语法

js
loadTableData(table_id, param, sort_order)

参数

参数名类型必填说明
table_idstring表格 id
paramObject参数
sort_orderstring排序

示例

js
loadTableData("userTable", {page: 1, size: 10}, "asc");

tableSearch

执行搜索。

语法

js
tableSearch(table_id, search_form_list)

参数

参数名类型必填说明
table_idstring表格 id
search_form_listArray要传参的表单选择器列表

示例

js
$("#sch_go").click(function(){
    console.log("点击表单搜索按钮");
    // 执行搜索
    var table_id = "aaa991844";
    var search_form_list = [
        "#sch_cmdtype", "input[name='cmd_name']"
    ];
    tableSearch(table_id, search_form_list);
});

resetSearch

清除搜索。

语法

js
resetSearch(table_id, search_form_list)

参数

参数名类型必填说明
table_idstring表格 id
search_form_listArray要重置的表单选择器列表

示例

js
// 假设重置按钮的 id = "sch_clr"
$("#sch_clr").click(function(){
    console.log("点击表单搜索重置按钮");
    // 执行重置搜索
    var table_id = "aaa991844";
    var search_form_list = [
        "#sch_cmdtype", "input[name='cmd_name']"
    ];
    resetSearch(table_id, search_form_list);
});

appendTableBody

手动添加表格行(原来表格的内容仍保留)。

语法

js
appendTableBody(table_id, list)

参数

参数名类型必填说明
table_idstring表格 id
listArray表格的 list 数据

示例

js
var list = [
    {"MOBILE":"110", "USERNAME":"aaa"},
    {"MOBILE":"119", "USERNAME":"aaa1"},
    {"MOBILE":"120", "USERNAME":"aaa2"}
];
appendTableBody('user_list', list);

table_remove_tr

移除表格行。

语法

js
table_remove_tr(table_id, index, bnt_ts, remove_all)

参数

参数名类型必填说明
table_idstring表格 id
indexnumber行号(第一行:0,第二行:1)
bnt_tsObject表格里面按钮对象的 this
remove_allbooleantrue 整张表格全部清除

示例

js
// 移除第一行
table_remove_tr('user_list', 0, this, false);

// 移除所有行
table_remove_tr('user_list', 0, this, true);

replaceTableBody

替换表格行(原来表格的内容被替换)。

语法

js
replaceTableBody(table_id, list)

参数

参数名类型必填说明
table_idstring表格 id
listArray表格的 list 数据

示例

js
var list = [
    {"MOBILE":"110", "USERNAME":"aaa"},
    {"MOBILE":"119", "USERNAME":"aaa1"},
    {"MOBILE":"120", "USERNAME":"aaa2"}
];
replaceTableBody('user_list', list);

table_controls_val

获取表格里面控件的值。

语法

js
table_controls_val(table_id)

参数

参数名类型必填说明
table_idstring表格 id

示例

js
var values = table_controls_val('user_list');

formatTable

表格格式化(表格渲染会自动调用,这个要自己写方法)。

语法

js
formatTable(table_id, data_list)

参数

参数名类型必填说明
table_idstring表格 id
data_listArray数据列表

示例

js
// 表格数据格式化
function formatTable(table_id, data_list){
    if(table_id == "表格1ID"){
        for (var i = 0; i < data_list.length; i++) {
            var one = data_list[i];
            if(one.SEX == 1){data_list[i].SEX = "男"};
            if(one.SEX == 2){data_list[i].SEX = "女"};
        }
        return data_list;
    }
    if(table_id == "表格2ID"){
        // 表格2数据格式化处理方法...
        return data_list;
    }
}

备注

这个方法不是系统方法,需要格式化数据可以写,参考上面,数据处理完后,return 回去。


formatTfoot

表尾格式化。

语法

js
formatTfoot(table_id, footer_obj)

参数

参数名类型必填说明
table_idstring表格 id
footer_objObject表尾对象

示例

js
// 格式化表尾(可选)
function formatTfoot(table_id, footer_obj){
    // 处理 id 为 "user_list" 的表格
    if(table_id == "user_list"){
        footer_obj.MAX_JIFEN = "最高分:" + footer_obj.MAX_JIFEN;
        footer_obj.MAX_DLCS = "最多:" + footer_obj.MAX_DLCS;
        // 一定要 return 回去(否则表尾不会显示)
        return footer_obj;
    }
    if(table_id == "表格2ID"){
        // 表格2数据格式化处理方法...
        return footer_obj;
    }
    // 一定要 return 回去(否则表尾不会显示)
    return footer_obj;
}

备注

这个方法不是系统方法,需要格式化数据可以写,参考上面,数据处理完后,return 回去。


tableIsEdit

判断表格是否被编辑过。

语法

js
tableIsEdit(table_id)

参数

参数名类型必填说明
table_idstring表格的控件 id

返回值

boolean - true 表示被编辑过,false 表示未编辑。

示例

js
var isEdit = tableIsEdit("user_list");
// isEdit 返回 true 或 false

table_controls_edit

修改表格内的表单控件。

语法

js
table_controls_edit(table_id, index, edit_data)

参数

参数名类型必填说明
table_idstring表格控件 id
indexnumber第几行
edit_dataObject修改的 data(对象或 json 格式,例如 {"name":"张三"},对象的键就是表格里面控件的 name)

示例

js
var data = {"PROCESS_NAME": 885, "NAME": "hohohh"};
table_controls_edit("user_list", 0, data);

getTableSelectedIndex

获取表格选中的行号。

语法

js
getTableSelectedIndex(table_id)

参数

参数名类型必填说明
table_idstring表格的控件 id

示例

js
var selectedIndexes = getTableSelectedIndex("user_list");

add_original_params

当前页面表格查询强制卡条件。

语法

js
add_original_params(table_id, params)

参数

参数名类型必填说明
table_idstring表格 id
paramsObject参数

示例

js
add_original_params("attribute_detail_list", {super_attribute_name: "纹路"});

备注

表格查询强制卡上 {super_attribute_name: "纹路"} 查询条件,不受分页、重置搜索等影响。


remove_original_params

当前页面表格查询解除强制卡条件。

语法

js
remove_original_params(table_id)

参数

参数名类型必填说明
table_idstring表格 id

示例

js
remove_original_params("attribute_detail_list");

get_table_data

获取表格的指令数据。

语法

js
get_table_data(table_id)

参数

参数名类型必填说明
table_idstring表格的控件 id

示例

js
get_table_data("user_list");

table_one_data

获取表格指令加载的数据,存储在框架前端缓存中。

语法

js
table_one_data(table_id, index)

参数

参数名类型必填说明
table_idstring表格的控件 id
indexnumber第几行(第一行为 0)

示例

js
table_one_data("user_list", 0);

set_table_callback

设置表格数据加载后回调函数。

语法

js
set_table_callback(table_id, callback)

参数

参数名类型必填说明
table_idstring表格的控件 id
callbackFunction回调方法

callback 参数说明

参数名类型必填说明
getDataFunction获取数据的回调方法
errorFunction失败的回调方法

示例

js
set_table_callback("user_list", {
    getData: function(data) {
        console.log("获取到数据:", data);
    },
    error: function(error) {
        console.log("加载失败:", error);
    }
});

get_table_callback

获取表格回调函数。

语法

js
get_table_callback(table_id)

参数

参数名类型必填说明
table_idstring表格的控件 id

示例

js
var callback = get_table_callback("user_list");

remove_table_callback

清除表格回调函数。

语法

js
remove_table_callback(table_id)

参数

参数名类型必填说明
table_idstring表格的控件 id

示例

js
remove_table_callback("user_list");

基于 MIT 许可发布