# bi.adaptive_table ### 自适应宽度的表格 {% method %} [source](https://jsfiddle.net/fineui/pbgnjeg0/) {% common %} ```javascript BI.createWidget({ type: "bi.adaptive_table", element: 'body', width: 600, height: 500, isResizeAdapt: true, isNeedResize: true, isNeedFreeze: true, freezeCols: [0, 1], columnSize: [50,50,200,250,400], header: [], items: [], }); ``` {% endmethod %} ## 参数设置 | 参数 | 说明 | 类型 | 默认值 | | ---------------- | ------------- | -------------------- | ----------------- | | isNeedResize | 是否可改变列大小 | boolean | true | | isNeedFreeze | 是否需要冻结表头 | boolean | false | | freezeCols | 冻结的列 | array | [] | | isNeedMerge | 是否需要合并单元格 | boolean | false | | mergeCols | 合并的单元格列号 | array | [] | | mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 | | columnSize | 单元格宽度集合 | array | [] | | minColumnSize | 最小列宽 | array | [] | | maxColumnSize | 最大列宽 | array | [] | | headerRowSize | 表头高度 | number | 25 | | rowSize | 普通单元格高度 | number | 25 | | regionColumnSize | 列项间的 | array | [] | | header | 表头 | array | [] | | items | 子组件 | array | [] | | crossHeader | 交叉表头 | array | [] | | crossItems | 交叉项 | array | [] | ## 方法 | 方法名 | 说明 | 参数 | | ------------------------ | ----------- | ------------------ | | setWidth | 设置宽度 | width: 宽度 | | setHeight | 设置高度 | height: 高度 | | setColumnSize | 设置列宽 | columnSize: 列宽数组 | | getColumnSize | 得到列宽 | — | | setRegionColumnSize | 设置列项之间的间隙 | columnSize: 列宽数组 | | getRegionColumnSize | 获得列项之间的间隙 | — | | setVerticalScroll | 设置纵向滚动距离 | scrollTop: 纵向滚动距离 | | setLeftHorizontalScroll | 设置左到右横向滚动距离 | scrollLeft: 横向滚动距离 | | setRightHorizontalScroll | 设置右往左横向滚动距离 | scrollLeft: 横向滚动距离 | | getVerticalScroll | 获取纵向滚动距离 | — | | getLeftHorizontalScroll | 获取左到右横向滚动距离 | — | | getRightHorizontalScroll | 获取右往左横向滚动距离 | — | | attr | 设置属性 | key: 键 value: 值 | | restore | 存储 | — | | populate | 增加项 | items: array | ------