使用自定义渲染值过滤管理网格Magento

时间:2015-04-30 05:07:56

标签: magento filter grid custom-controls render

  

我创建了一个自定义网格,其中有一个列我已渲染   我的自定义日期。根据我返回的数据

     

是或否

如下所示

public function render(Varien_Object $row)
            {
                $currentruleid = $this->getRequest()->getParam('id');
                $value = (int)$row->getData($this->getColumn()->getIndex());
                $read = Mage::getSingleton('core/resource')->getConnection('core_read');    
                $write = Mage::getSingleton("core/resource")->getConnection("core_write");  
                $query = "SELECT exclusive_coupon_id FROM mutually_exclusive
                WHERE rule_id ='$currentruleid' AND exclusive_coupon_id ='$value' ";  
                $result = $read->query($query);
                $affected_rows = $result->rowCount();
                if($affected_rows > 0){
                    return 'Yes';
                }
                else{
                    return 'No'; 
                    }   

            }

并在网格中我的列代码是

$this->addColumn('', array(
    'header'   => Mage::helper('salesrule')->__('Exclusive'),
    'index'    => 'coupon_id',
    'width'    => '100',
    'type'     => 'options',
    'options'  => array(
        Mage::helper('adminhtml')->__('No'),
        Mage::helper('adminhtml')->__('Yes')
    ),
    'renderer' => 'adminhtml/promo_quote_edit_tab_exclusivecoupons_grid_column_renderer_used',
));
  

我的渲染器正在返回准确的数据

     

及其在专栏中的显示

     

我也需要过滤是或否。但过滤不起作用。

     

你能告诉我我该怎么做。

     

感谢

2 个答案:

答案 0 :(得分:0)

在答案上有一个类似的问题。这可能会对您有所帮助 - Filter in grid with custom renderer

答案 1 :(得分:0)

我检查过但我的渲染器不是任何直接字段,其下面的自定义数据是我的渲染器功能

 public function render(Varien_Object $row)
            {
                $currentruleid = $this->getRequest()->getParam('id');
                $value = (int)$row->getData($this->getColumn()->getIndex());
                $read = Mage::getSingleton('core/resource')->getConnection('core_read');    
                $write = Mage::getSingleton("core/resource")->getConnection("core_write");  
                $query = "SELECT exclusive_coupon_id FROM mutually_exclusive
                WHERE rule_id ='$currentruleid' AND exclusive_coupon_id ='$value' ";  
                $result = $read->query($query);
                $affected_rows = $result->rowCount();
                if($affected_rows > 0){
                    return 'Yes';
                }
                else{
                    return 'No'; 
                    }   

            }