2012-03-24 30 views
0

我試圖建立網格建立柱過濾(使用Sencha GXT),這裏是我的代碼:ExtGWT StoreFilterField輸入沒有反應

public Grid<Stock> createGrid() { 


    // Columns definition 
    ColumnConfig<Stock, String> nameCol  = new ColumnConfig<Stock, String>(props.name(),  100, "Company"); 

    // Column model definition and creation 
    List<ColumnConfig<Stock, ?>> cl = new ArrayList<ColumnConfig<Stock, ?>>(); 
    cl.add(nameCol); 
    ColumnModel<Stock> cm = new ColumnModel<Stock>(cl); 

    // Data populating 
    ListStore<Stock> store = new ListStore<Stock>(props.key()); 
    store.addAll(TestData.getStocks()); 


    // Grid creation with data 
    final Grid<Stock> grid = new Grid<Stock>(store, cm); 
    grid.getView().setAutoExpandColumn(nameCol); 
    grid.setBorders(false); 
    grid.getView().setStripeRows(true); 
    grid.getView().setColumnLines(true); 


    // Filters definition 
    StoreFilterField<Stock> filter = new StoreFilterField<Stock>() { 

     @Override 
     protected boolean doSelect(Store<Stock> store, Stock parent, Stock item, String filter) { 

      // Window.alert(String.valueOf("a")); 

      String name = item.getName(); 
      name = name.toLowerCase(); 
      if (name.startsWith(filter.toLowerCase())) { 
       return true; 
      } 
      return false; 
     } 
    }; 
    filter.bind(store); 

    cm.addHeaderGroup(0, 0, new HeaderGroupConfig(filter, 1, 1)); 
    filter.focus(); 
    return grid; 
} 

我的問題是:當我運行這段代碼,我不能寫任何東西來過濾輸入,我使用這個例子中的測試數據和類(Stock.java和StockProperties.java):http://sencha.com/examples-dev/#ExamplePlace:filtergrid 我嘗試在doSelect方法中放置allert以檢查此函數是否被調用,但它不是「T。 任何想法都會受到歡迎。謝謝。

回答

0

我能夠讓你的代碼工作。我觀察到StoreFilterField類的代碼中存在編譯器錯誤。以下是根據第一列中的值過濾網格的代碼,即Stock模型中的名稱字段。

StoreFilterField<Stock> filter1 = new StoreFilterField<Stock>() { 

@Override 
protected boolean doSelect(Store<Stock> store, Stock parent, Stock record, String property, String filter) { 
    String name = record.get("name"); 
    name = name.toLowerCase(); 
    if (name.startsWith(filter.toLowerCase())) { 
     return true; 
    } 
    return false; 
    } 
}; 

filter1.bind(store); 

順便說一句,我測試了這與GXT 2.2.5和GWT 2.4。

感謝, Ganesh神

+0

感謝您的時間更換disableTextSelection(false),我根據本文HTTP解決這個問題:// WWW。 sencha.com/forum/archive/index.php/t-91956.html?s=8d0140f4c37e7d598bd3f99f6ad66832但我用setAllowTextSelection(true)補充disableTextSelection(false); – user1289877 2012-03-26 21:06:29