有没有办法阻止用户更改所选行?我正在寻找类似selectedRowChanging事件的东西,它会阻止或允许用户选择新行。
答案 0 :(得分:1)
有点取决于你如何设置......
我有一个Grid,我已经添加了一个CheckColumnConfig和RowEditor它实际上是一个进入某些DataBase表的窗口。用户可以修改“除”键列之外的任何列。用户还可以添加新行。我定义了2个ColumConfigs。 EditColumnConfig禁用了各种文件(即if(column = keyColumn){textField.disabled();} AddColumnConfig已启用所有列。
现在,如果用户单击行上的复选框并单击“添加”按钮,则使用addColumnModel重新配置网格:rowDataGrid.reconfigure(listStore,addStateColumnModel);当用户单击RowEditor“保存”按钮时,我将网格配置为:rowDataGrid.reconfigure(listStore,editStateColumnModel);
我想你可以定义一个不可编辑的ColumnConfig并将其交换进去。 (或者......捕获RowEditor的'BeforeEdit'事件并禁用行)。
无论如何,这是一个想法...希望这会有所帮助。
答案 1 :(得分:0)
grid.addListener(Events.BeforeEdit, new Listener<GridEvent<MyModel>>(){
@Override
public void handleEvent(GridEvent<MyModel> be) {
//This retrieves the model being edited.
MyModel model = be.getModel();
if (I do not want to edit this model){
be.setCancelled(true);
}
}
});