2012-01-12 15 views
2

ListGridフィルタに問題があります。私が直面している問題は、リストグリッドのフィルターからフィルターされたテキストを削除するとすぐに、編集されたレコードが削除されるListGridRecordを編集するためにListGridにフィルターを適用するときです。Smartgwt Listgridフィルタの問題

私はlistgrid.clearCriteria()を使ってフィルタを手動で削除した後で、自動的にリストグリッドからレコードを取得しようとします。すべての変更が削除されます。 私は意味を成すことができますように願っています。これは私が時間の間に直面している地獄です。詳細を知る必要がある場合は、私に知らせてください。消えたレコードを事前

答えて

2

。実際には、リストグリッドからフィルタリングされたテキストを削除すると、リストグリッドはデフォルトでサーバからデータを取得しようとします。プロパティsetDataFetchMode(FetchMode.LOCAL)を設定することで、フィルターされたテキストを削除したときにサーバーからのデータを取得するのを防ぐことができます。私に援助を提供するすべての人に感謝します。

this.addFilterEditorSubmitHandler(new FilterEditorSubmitHandler(){ 

     @Override 
     public void onFilterEditorSubmit(FilterEditorSubmitEvent event) { 
      filterByEditor(event.getCriteria()); 

      //cancel the event to avoid the server side fetch 
      event.cancel(); 
     } 

    }); 

データソース:

1

のおかげで、SmartGWTのFAQでこの質問を参照してください。clearCriteriaオン

http://forums.smartclient.com/showthread.php?t=8159#aGrid

()と離れて行くの変更は、それはあなたがそれらの変更を作っているかは明らかではないが、変更が誤って適用され、clearCriteria()がサーバーから新しいレコードをロードしているだけで、変更がなくなる可能性があります。グリッドの編集概要レコードとそれらの編集(「編集値」)が保存されているかを理解するために参照してください:私はこの問題の解決策を見つけた

http://www.smartclient.com/smartgwtee/javadoc/com/smartgwt/client/docs/Editing.html

+0

こんにちは@Charles ...私はあなたを言及したいと思います一つのことは、私はその後、最初にのみ、すべての変更をフィルタを適用していたときにということです離れて行く。それ以外の場合は、2回目以降のフィルタを適用します。変化は消え去った。何が問題になるか教えてください、それに私には何かヒントを与えてください。ありがとう – ankit

0

smartgwt 6、私はあなたがsmartgwt 3または4を使用している場合は、次の Grid.javaを試すことができますショーケース

を参照することができ、これを行うためのより良い方法を見ました.java

データを取得した後、レコードの初期セットを設定するために呼び出します。 zzzzzDataSrc.setCacheData(gridRecs);


公共ボイドfilterByEditor(基準CR){

AdvancedCriteria criteria =  
      new AdvancedCriteria(FLD_NM, OperatorId.STARTS_WITH, cr.getAttributeAsString(FLD_NM)) ; 
    //initialize with the complete set of rows 
    this.setData(this.getDataSource().getCacheData()); 
    //filter using the criteria 
    this.setData(this.getDataAsRecordList().findAll(criteria)); 

} 
関連する問題