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.

72 lines
4.3 KiB

# bi.table_view
7 years ago
7 years ago
### 能处理静态宽度以及动态宽度的表
{% method %}
[source](https://jsfiddle.net/fineui/mbazb80a/)
{% common %}
```javascript
BI.createWidget({
type: "bi.table_view",
element: 'body',
isNeedMerge: true,
isNeedFreeze: true,
freezeCols: [0, 1],
mergeCols: [0, 1],
columnSize: [100, 200, 300, 400, 500],
items: [],
header: []
});
```
{% endmethod %}
## 参数设置
| 参数 | 说明 | 类型 | 默认值 |
| ---------------- | ------------- | -------------------- | ----------------- |
| isNeedMerge | 是否需要合并单元格 | boolean | false |
| mergeCols | 合并的单元格列号 | array | [] |
| mergeRule | 合并规则, 默认相等时合并 | function(row1, row2) | 默认row1 = row2 时合并 |
| columnSize | 单元格宽度集合 | array | [] |
7 years ago
| headerRowSize | 表头高度 | number | 25 |
| footerRowSize | 表尾高度 | number | 25 |
| rowSize | 普通单元格高度 | number | 25 |
| regionColumnSize | 列项间的 | array | false |
| header | 表头 | array | [] |
| footer | 表尾 | array | false |
| items | 子组件 | 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() |
| populate | 增加行 | populate(rows) |
## 事件
| 事件 | 说明 |
| :------ |:------------- |
|BI.Table.EVENT_TABLE_AFTER_INIT | table初始化完成后触发 |
|BI.Table.EVENT_TABLE_RESIZE | table大小调整时触发(窗口变化等) |
|BI.Table.EVENT_TABLE_SCROLL | 滚动事件 |
---