2011-12-14 3 views
0
fbar :[{ 
        xtype  : 'datefield', 
        id   : 'date_s', 
        allowBlank : true, 
        emptyText : 'Choose date', 
        name  : 'deadline', 
        width  : 120, 
        editable : false, 
       },{ 
        xtype  : 'button', 
        text  : 'Go!', 
        handler  : function() { 
        /*f.load({ 
         params : { 
          start : 0, 
          limit : 2, 
          t : '' 
         } 
        });*/ 

        var clear = f.clearFilter(); 
        var searchValueDate1 = Ext.getCmp("date_s").getValue(); 
        var date1 = searchValueDate1.format('Y-m-d); // 00:00:00'); 

        //alert(date1); 

        //clear; 
        f.load().filter("question[deadline]", date1); 

        } 
       }] 

Я создал выпадающий, где я могу выбрать любую дату, а затем, когда я нажимаю кнопку -> он показывает только строки, содержащие только эту дату датой 9deadline) ВОПРОС: Я думаю, я написал право все, что, в но не работает! В чем главная проблема?Extjs 3 (Grid Filter)

ответ

0

Что вы имеете в виду, не работает? У вас есть ошибка?

В ExtJs 3 фильтр представляет собой виджет, который позволяет вам иметь визуальную функцию для выбора даты, затем запускает событие (нагрузку), которое необходимо захватить, если вам нужно изменить данные до того, как была выполнена фильтрация контроллером (в ASP/PHP)

Что-то хорошее, чтобы дать нам полный тестовый код, чтобы просто мимо него в нашей среде

0

обработчик получает кнопку и события объекта, переданного ему. Так обработчик должен выглядеть следующим образом:

handler  : function (b,e) { 

var theGrid = Ext.getCmp('gridId'); //You need to get the grid to filter 
var theStore = theGrid.store; //Get the grid store you need it to filter 

var searchValueDate1 = Ext.getCmp("date_s").getValue(); 
var date1 = searchValueDate1.format('Y-m-d); // 00:00:00'); 


//Filter by filters each record if true it keeps it if false it filters it out 
theGrid.filterBy(function(rec){ 

if(rec.get('dateField') == date1){ 
    return true 
}else{ 
return false; 
} 
}); 

} 

Это основная идея копия и паста это не будет работать, это означало больше как руководство.