editingMode
editingMode:editAll(多行编辑模式)
editingMode:clickToEdit(单行编辑模式)
使用规范
在Table(Tree、TreeTable)中包含下列组件时,建议使用editAll模式
■ SelectManyCheckbox
■ SelectManyListBox
■ SelectOneListBox
■ SelectOneRadio
■ SelectManyShuttle
其他情况下为了提高性能,建议使用clickToEdit模式
Grid lines
horizontalGridVisible、verticalGridVisible决定是否显示Table中的表格线
横竖网格都为false时的效果:
Banding
RowBandingInterval:1
ColumnBandingInterval:1
Column Selection
是否可以进行列选择,当columnSelection=Multiple时,可以同时选择多行
Column reordering
用户可以在运行时改变column的排序,可拖动列排序或在panelCollection中通过菜单排序
Fetch Size
table/tree/treeTable组件在client端采用分批获取server端的rows的方法以提高性能。Client只会获取足够数量的用来显示到页面上的rows。当用户拖拽滚动条时client会再次从server端获取rows。
Fetch Size是每次请求的rows的数量。当Table的高度较小时采用默认值25即可。
当Table的高度较高时,则需要调整Fetch Size的值。
具体数值应该以略多于Table在界面上所能显示的rows。
contentDelivery
Immediate(默认)首批rows会与页面一起传送到界面,适合页面只有一个Table的情况。
Lazy会在页面的Table渲染完成后,再向服务器请求rows数据
其它属性
activeRowKey | Object | 当前用户正在编辑的row |
allDetailsEnabled | boolean | 是否显示detailStamp中的内容 |
clientComponent | boolean | 是否需要用js操作该组件 |
columnResizing | String | enabled, disabled |
emptyText | String | 表格中无数据时显示的内容 |
width | String | 默认300px |
Line wrapping | 当单元格为只读时,设置Column.noWrap为true可以在内容过多时自动换行 | |
Column.RowHeader | Boolean | 设为True实现点击该列时选择整行 |
blocking | Boolean | 设为True当与服务器交互时,阻止用户进行输入 |
Column stretching | 设置ColumnStretching可以指定一列自动扩展宽度以填充Table在宽度上所剩下的空间 |
性能设置规范
-
如果页面中包含SelectManyCheckbox、 SelectManyListBox、 SelectOneListBox、 SelectOneRadio、 SelectManyShuttle组件,则将Table的EditingMode属性设为editAll;否则设为clickToEdit。
-
如果页面中只含有一个Table,则将Table的ContentDelivery属性设为immediate;否则设为Lazy。
-
页面显示时,查看当前页面中的Table所能显示的行数(不同分辨率下行数可能不同,应以最多的为准),如果行数大于25,则将Table的FetchSize属性设为比最大行数略多即可。
原创,转载请注明出处