Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/387.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何从GXT 2.2.3迁移到GXT 3.0.1_Java_Gwt_Gxt - Fatal编程技术网

Java 如何从GXT 2.2.3迁移到GXT 3.0.1

Java 如何从GXT 2.2.3迁移到GXT 3.0.1,java,gwt,gxt,Java,Gwt,Gxt,我使用GXT 2.2.3创建了EditorGrid。所需的一切都结束了。但有一次我遇到了问题,即我需要根据一个单元格中的值禁用和启用一些单元格。我为此提出了问题。但我得到了一个对我不起作用的解决方案。我在Sencha、coderanch和其他一些论坛上问过,但我仍然没有得到解决方案 现在我决定将其迁移到GXT 3.0.1 我需要一个可编辑的网格,需要根据另一个单元格中的值禁用和启用单元格编辑。请建议在GXT 3.0.1中哪个网格适用于此,以及如何迁移到GXT 2.2.3到GXT 3.0.1。我不

我使用GXT 2.2.3创建了EditorGrid。所需的一切都结束了。但有一次我遇到了问题,即我需要根据一个单元格中的值禁用和启用一些单元格。我为此提出了问题。但我得到了一个对我不起作用的解决方案。我在Sencha、coderanch和其他一些论坛上问过,但我仍然没有得到解决方案

现在我决定将其迁移到GXT 3.0.1


我需要一个可编辑的网格,需要根据另一个单元格中的值禁用和启用单元格编辑。请建议在GXT 3.0.1中哪个网格适用于此,以及如何迁移到GXT 2.2.3到GXT 3.0.1。

我不使用GXT 2.x.x。我的朋友试图从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);

所以我认为这对你有帮助。

我通过使用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;

        }
    };

对于一个更一般的解决方案,考虑ValueCueEngEvor而不是CueEngEnter。我不确定,但是当从TeBBOIONE触发时,ValueCurviod更改事件触发器,但是ValueCueEnEnter也可以在其他情况下触发,例如当StValue…,true被调用时,“true”在这种情况下意味着“也触发事件”。当用户使用未更改文本的内容时,也会出现这种情况,例如SpinnerFields、DateField、,ComboBox。我主要需要根据另一个单元格中的值禁用该单元格。我使用GXt 2.2.3创建了EditorGrid。任何人请提供帮助。我主要需要根据另一个单元格中的值禁用该单元格。我使用GXt 2.2.3创建了EditorGrid。任何人请提供帮助。我想我无法从GXt 2.x迁移到GXt 3.0,因为我使用的是GWT 2.3.但GXT 3.x需要GWT 2.4