国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

Yii框架擴(kuò)展CGridView增加導(dǎo)出CSV功能

2020-03-22 17:55:48
字體:
供稿:網(wǎng)友
  • Yii提供的CGridView組件沒有內(nèi)置數(shù)據(jù)導(dǎo)出功能,不過我們可以通過擴(kuò)展該組件來添加該功能。

    具體方法如下:

    1、首先派生一個子類,添加一個action成員,在該視圖的init函數(shù)中判斷是瀏覽動作還是數(shù)據(jù)導(dǎo)出動作,如果是瀏覽動作者則保持默認(rèn)行為,否則輸出csv文件。


            html' target='_blank'>public function init()        {            if($this->action == 'export')            {                parent::init();                $this->genCsv();            }            else            {                parent::init();            }        }

    2、處理csv文件的輸出:


            protected function genCsv()        {            header("Content-Type: text/csv; charset=GB2312");            header('Content-Disposition: attachment; filename="'.$this->fileName.'"');                        //add your content dump codes here            flush();        }

    3、然后在表格控件界面上添加一個csv導(dǎo)出按鈕 www.it165.net

     

    覆蓋其renderItems()方法如下:


            public function renderItems()        {            if(Yii::app()->user->checkAccess('administrator'))            {                echo '<div class="toolBar">';                echo '<form action="'.CHtml::normalizeUrl(array($this->action)).'&id='.$this->id.'" method="post">';                foreach($this->getController()->getActionParams() as $name => $value)                {                    echo '<input type="hidden" name="'.addcslashes($name,'"').'" value="'.addcslashes($value,'"').'" />';                }                echo '<input type="image" title="'.Yii::t('ifCMS','Export to CSV').'" src="'.Yii::app()->theme->BaseUrl.'/images/ico-csv.png" alt="Submit">';                echo '</form>';                echo '</div>';            }            parent::renderItems();  &nbsp; &nbsp; &nbsp; }

    4、然后在點(diǎn)擊CSV的動作處理比如actionCsv()中render單個表格視圖,模板如下

    注意上述第2步csv輸出函數(shù)中的header設(shè)置語句之前不要有任何的輸出,包括如下函數(shù):

    print, echo, printf, trigger_error, vprintf, ob_flush, var_dump, readfile, passthru

    否則內(nèi)容只會在瀏覽器中輸出,但不會出現(xiàn)文件下載。

    PHP編程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 三原县| 响水县| 明光市| 灵宝市| 兰坪| 望城县| 永城市| 屏东市| 娄底市| 石林| 萝北县| 南阳市| 曲沃县| 福贡县| 舒城县| 呼玛县| 宁武县| 黑河市| 临沧市| 丰城市| 宝山区| 安徽省| 西乌| 东城区| 大方县| 南京市| 木兰县| 资兴市| 泰顺县| 郓城县| 阜康市| 广南县| 曲阜市| 富源县| 东乌| 贵港市| 邳州市| 博爱县| 彩票| 鄂伦春自治旗| 蚌埠市|