2011-12-14 54 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(电网滤波器)

回答

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; 
} 
}); 

} 

这是基本的想法的这种复制和粘贴将无法正常工作,这意味着更多的作为指导。