fineui是帆软报表和BI产品线所使用的前端框架。
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

86 lines
4.8 KiB

7 years ago
# bi.responsive_table
### 自适应宽度的表格,继承BI.Widget
7 years ago
{% method %}
[source](https://jsfiddle.net/fineui/y70jwztm/)
{% common %}
```javascript
var items = [[{
text: "第一行第一列"
}, {
text: "第一行第二列"
}, {
text: "第一行第三列"
}]];
var header = [[{
text: "表头1"
}, {
text: "表头2"
}, {
text: "表头3"
}]];
BI.createWidget({
type: "bi.responsive_table",
isNeedMerge: true,
isNeedFreeze: true,
mergeCols: [0, 1],
columnSize: ["", "", ""],
items: items,
header: header,
element: 'body'
});
```
{% endmethod %}
##参数
| 参数 | 说明 | 类型 | 默认值 |
| ---------------- | ------------------------------------ | -------- | -------- |
| isNeedFreeze | 是否需要冻结单元格 | bool | false |
| freezeCols | 冻结的列号,从0开始,isNeedFreeze为true时生效 | array | [] |
| isNeedMerge | 是否需要合并单元格 | bool | false |
| mergeRule | function (row1, row2) 合并规则, 默认相等时合并 | function | function |
| columnSize | 列宽 | array | [] |
| headerRowSize | 表头行高 | number | 25 |
| footerRowSize | 表尾行高 | number | 25 |
| rowSize | 行高 | number | 25 |
| columnSize | 列宽 | array | [] |
| regionColumnSize | | bool | false |
| header | 表头内容 | array | [] |
| footer | 是否需要表尾 | bool | false |
| items | 子组件二维数组 | array | [] |
| crossHeader | 交叉表头 | array | [] |
| crossItems | 交叉表内容二维数组 | array | [] |
## 方法
| 方法名 | 说明 | 用法 |
| ---------------------------- | ---------------- | ------------------------------------ |
| resize | 调整表格 | resize() |
| setColumnSize | 设置列宽 | setColumnSize(columnSize) |
| getColumnSize | 得到列宽 | getColumnSize() |
| getCalculateColumnSize | 获得计算后的列宽 | getCalculateColumnSize() |
| setHeaderColumnSize | 设置表头的列宽 | setHeaderColumnSize(columnSize) |
| setRegionColumnSize | 设置列项之间的间隙 | setRegionColumnSize(columnSize) |
| getRegionColumnSize | 获得列项之间的间隙 | getRegionColumnSize() |
| getCalculateRegionColumnSize | 获取计算后的列项之间的间隙 | getCalculateRegionColumnSize() |
| getCalculateRegionRowSize | 获取计算后的列项上下之间的间隙 | getCalculateRegionRowSize() |
| getClientRegionColumnSize | 获取浏览器中显示的列项之间的间隙 | getClientRegionColumnSize() |
| getScrollRegionColumnSize | 获取横向滚动条宽度 | getScrollRegionColumnSize() |
| getScrollRegionRowSize | 获取纵向滚动条宽度 | getScrollRegionRowSize() |
| hasVerticalScroll | 是否含有数值滚动条 | hasVerticalScroll() |
| setVerticalScroll | 设置纵向滚动距离 | setVerticalScroll(scrollTop) |
| setLeftHorizontalScroll | 设置左到右横向滚动距离 | setLeftHorizontalScroll(scrollLeft) |
| setRightHorizontalScroll | 设置右往左横向滚动距离 | setRightHorizontalScroll(scrollLeft) |
| getVerticalScroll | 获取纵向滚动距离 | getVerticalScroll() |
| getLeftHorizontalScroll | 获取左到右横向滚动距离 | getLeftHorizontalScroll() |
| getRightHorizontalScroll | 获取右往左横向滚动距离 | getRightHorizontalScroll() |
| getColumns | 获取列项 | getColumns() |
| resizeHeader | 调整表头 | resizeHeader() |
| attr | 设置属性 | attr(key, value) |
| populate | 增加行 | populate(rows) |
| destroy | 摧毁表 | destroy() |