Как перейти с GXT 2.2.3 на GXT 3.0.1

1

Я создал EditorGrid с использованием GXT 2.2.3. Все, что требуется, больше. Но в какой-то момент я застрял, то есть мне нужно отключить и включить некоторые ячейки на основе значения в одной ячейке. Я спросил Вопрос для этого. Как сделать ячейку как не редактируемую на основе на другое значение ячейки в Editable Grid в gxt. Но я получил решение, которое не работает для меня. Я спросил у Сенча, кодеранча и некоторых других форумов, но до сих пор у меня не было решения.

Теперь я решил перенести это на GXT 3.0.1.

Мне нужен EditableGrid и нужно отключить и включить редактирование ячеек на основе значения в другом Cell.Пожалуйста, предложите, какая сетка подходит для этого в GXT 3.0.1 и как перейти на GXT 2.2.3 в GXT 3.0.1.

  • 0
    В основном мне нужно отключить ячейку на основе значения в другой ячейке. Я создал EditorGrid с помощью GXt 2.2.3. Любой Пожалуйста, помогите.
  • 0
    Я думаю, что не могу перейти с GXT 2.x на GXT 3.0, потому что я использую GWT 2.3. Но GXT 3.x требует GWT 2.4
Теги:
gwt
gxt

2 ответа

0
Лучший ответ

Я решил это, просто используя CSS. Вместо того, чтобы думать о отключении и включении ячейки, я просто скрываю и показываю ячейку с помощью CSS. Ниже приведен мой код, который позволяет мне выполнить это требование.

 GridCellRenderer<AttendanceCaseCreationModel> checkinRenderer=new GridCellRenderer<AttendanceCaseCreationModel>() {

        @Override
        public Object render(AttendanceCaseCreationModel model, String property,
                ColumnData config, int rowIndex, int colIndex,
                ListStore<AttendanceCaseCreationModel> store,
                Grid<AttendanceCaseCreationModel> grid) {

            String color="pink";
            if(eventcombo.getValue()!=null){


                if(eventcombo.getRawValue().equalsIgnoreCase("Forgot To Checkin") || 
                        eventcombo.getRawValue().equalsIgnoreCase("Mark/Modify Attendance")){
                    color="pink";
                }
                else{

                    config.style=config.style+ ";visibility: hidden;";
                }

            }

            config.style=config.style+ ";background-color:" + color  + ";";
            config.style=config.style+ ";display: block;";
            Object value = model.get(property);
            return value;

        }
    };
0

Я не работаю с gxt 2.xx Мой друг пытается мигрировать от 2 до 3. И он использует 2 и 3 параллельно. Поэтому он начинает создавать новые страницы с gxt3, потому что, если вы их смешиваете, у вас могут возникнуть проблемы с макетами! Если вы хотите использовать gxt3, вы должны сделать что-то вроде этого:

//Create grid
Grid<Plant> grid = new Grid(...);
//Create editable grid
GridEditing<Plant> editing = new GridInlineEditing<Plant>(editableGrid);

//add first editing column
TextField watchField = new TextField();
TextField targerField = new TextField();

watchField.addChangeHandler(new ChangeHandler() {
   @Override
   public void onChange(ChangeEvent event) {
      if(smtng) targerField.disable();
      else targetField.enable();
   }
}); 
editing.addEditor(cc1, watchField);
editing.addEditor(cc2, targetField);

Поэтому я думаю, что это вам поможет.

  • 0
    Для более общего решения рассмотрите ValueChangeEvent вместо ChangeEvent`.
  • 0
    Я не уверен, но событие ValueChange срабатывает, когда фокус из текста
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню