GridPager分页组件在ListGrid 配置了
setSelectionType(SelectionStyle.SIMPLE);
setSelectionAppearance(SelectionAppearance.CHECKBOX)
后会出现 “Can't select that many records at once”提示,并不能全选。
解决思路: 去掉提示,将选择grid中所有记录替换为选择所有可见的记录。
实现:
第一步: 在GridPager中为ListGrid的DataArrived事件添加去掉提示代码覆盖SmartClient的代码(因为SmartClient是在数据到达后就设置提示,并将checkBoxField设为不可用)。代码如下:
/**
* 自定义ListGrid的CheckBoxField属性,覆盖SmartGWT的范围太大不能提示
* 需要在ListGrid的DataArrivedHandler事件处理中调用
*
* @param grid 要更改的ListGrid对象
*/
public native void changeCheckBoxFieldProperty(ListGrid grid)/*-{
var self = grid.@com.smartgwt.client.widgets.BaseWidget::getOrCreateJsObj()();
if (self.getCurrentCheckboxField()) {
v