Как запретить пользователю изменять выбранную строку в EditorGrid - PullRequest
0 голосов
/ 27 марта 2012

Есть ли способ, которым я могу запретить пользователю изменять выбранную строку?Я искал что-то вроде события selectedRowChanging, которое могло бы либо запретить, либо позволить пользователю выбрать новую строку.

Ответы [ 2 ]

1 голос
/ 01 мая 2012

Вид зависит от того, как у вас настроены вещи ...

У меня есть Grid, к которому я добавил CheckColumnConfig и RowEditor. Это действительно окно в некоторые таблицы DataBase.Пользователь может изменить любой столбец, кроме ключевых.Пользователь также может добавить новую строку.Я определил 2 ColumConfigs.В EditColumnConfig отключены различные поля (например, if (column = keyColumn) {textField.disabled ();} в AddColumnConfig включены все столбцы.

Теперь, если пользователь нажимает флажок checkBox в строке и нажимает 'Кнопка «Добавить» Я перенастраиваю сетку с помощью addColumnModel: rowDataGrid.reconfigure (listStore, addStateColumnModel); Когда пользователь нажимает кнопку «Сохранить» RowEditor, я переконфигурирую сетку назад: rowDataGrid.reconfigure (listStore, editStateColumnModel 100 * 100 *);* Полагаю, вы могли бы определить не редактируемый ColumnConfig и поменять его местами. (Или ... перехватить событие RowEditor 'BeforeEdit' и отключить его в строке).

В любом случае это идея ... надеюсь, этопомогает.

0 голосов
/ 04 июня 2012
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);
            }
        }           
});
...