1

YAHOO.util.Event.addListener("genes", "change", function(e) { var value = YAHOO.util.Event.getTarget(e).value; if(YAHOO.lang.isValue(value)) { myDataTable .getDataSource().sendRequest(null, { success:function(リクエスト、レスポンス、ペイロード) { this.initializeTable();

                var rs = response.results;
                var filtered = [];
                for(var i = 0; i < rs.length; i++) {
                      //alert(rs[i].gene);
                    if(rs[i].gene == value) {
                        filtered[filtered.length] = rs[i];
                    }
                }
                this.getRecordSet().setRecords(filtered, 0);
                this.render();
            },
            scope:myDataTable,
            argument:null
        });
    }
});

これは、データをフィルタリングするための私のコードです。選択のオプションを変更すると、データが完全に取得されます。しかし、ページネーションが機能しておらず、レコードが表示されていても「0」と表示されています。

誰でも私を提案できますか。

ありがとう!!

4

1 に答える 1

1

あなたはこれを試すことができます:

dobMenuButton.subscribe("selectedMenuItemChange",function(e) {
  var value =e.newValue.value;
  if(YAHOO.lang.isValue(value)) {
    myDataTable.getDataSource().sendRequest(null, {
        success:function(request, response, payload) {
            this.initializeTable();
            var rs = response.results;
            var filtered = [];
            for(var i = 0; i < rs.length; i++) {
                if(((rs[i].dateOfBirth).format("MM/dd/yyyy")) == value) {
                    filtered[filtered.length] = rs[i];
                }
            }
            this.getRecordSet().reset();                                                 
            MCMPagination.paginatorvar.setTotalRecords(filtered.length,true);
            this.getRecordSet().setRecords(filtered, 0);
            this.render();
    },
    scope:myDataTable, 
        argument:myDataTable.getState()
    });
   }
 });
于 2011-05-19T14:31:15.600 に答える