2017-05-23 12 views

答えて

0

これは、ComboBoxエディタを列に追加することで実装しました。

combo.addBeforeSelectionHandler(new BeforeSelectionHandler<Integer>() { 

     @Override 
     public void onBeforeSelection(BeforeSelectionEvent<Integer> event) { 

      Integer item= event.getItem(); 
      ColumnConfig<Sample, Integer> column= columnModel.getColumn(1); 
      ComboBox<Integer> box= (ComboBox<Integer>)event.getSource(); 
      String text= box.getSelectedText(); 
      Collection<Store<Sample>.Record> records= ivGrid.getStore().getModifiedRecords(); 
      if(records.isEmpty()) 
      { 
       Sample sample= getSampleByIndex(item); 

       if(sample!=null) 
       { 
        Record record = listStore.getRecord(sample); 
        record.addChange(sampleValueProvider.index(), Integer.parseInt(text)); 
       } 
       else 
       { 
        Sample sample2= listStore.get(item-1); 
        if(sample2!=null) 
        { 
         Record record = listStore.getRecord(sample2); 
         record.addChange(sampleValueProvider.index(), Integer.parseInt(text)); 
        } 
       } 
       return; 
      } 

      for(Record r : records) 
      { 
       Sample currentSample= (Sample) r.getModel(); 
       Change<Sample, Integer> displayOrder= r.getChange(sampleValueProvider.index()); 
       if(displayOrder==null) 
        continue; 
       if(displayOrder.getValue()==item) 
       { 
        Record record = listStore.getRecord(currentSample); 
        record.addChange(sampleValueProvider.index(), Integer.parseInt(text)); 
       } 
      } 

      ivGrid.getView().refresh(true); 

     } 
関連する問題