Страница 1 из 1

CDataColumn

Добавлено: 2011.07.22, 14:53
BuCeFaL
Сейчас:

Код: Выделить всё

    protected function renderFilterCellContent()
    {
        if(is_string($this->filter))
            echo $this->filter;
        else if($this->filter!==false && $this->grid->filter!==null && $this->name!==null && strpos($this->name,'.')===false)
        {
            if(is_array($this->filter))
                echo CHtml::activeDropDownList($this->grid->filter, $this->name, $this->filter, array('id'=>false,'prompt'=>'')); /// <----------- prompt hardcode
            else if($this->filter===null)
                echo CHtml::activeTextField($this->grid->filter, $this->name, array('id'=>false));
        }
        else
            parent::renderFilterCellContent();
    }
 
Патч

Код: Выделить всё

    public $filterPrompt = '';
    protected function renderFilterCellContent()
    {
        if(is_string($this->filter))
            echo $this->filter;
        else if($this->filter!==false && $this->grid->filter!==null && $this->name!==null && strpos($this->name,'.')===false)
        {
            if(is_array($this->filter))
                if(is_string($this->filterPrompt))
                    echo CHtml::activeDropDownList($this->grid->filter, $this->name, $this->filter, array('id'=>false,'prompt'=>$this->filterPrompt));
                else
                    echo CHtml::activeDropDownList($this->grid->filter, $this->name, $this->filter, array('id'=>false));
            else if($this->filter===null)
                echo CHtml::activeTextField($this->grid->filter, $this->name, array('id'=>false));
        }
        else
            parent::renderFilterCellContent();
    }
 

Позволяет в ручную устанавливать пустое значение для фильтра или отказаться от него, но в последнем случае нужно дописать обновление грида