真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Yii框架擴(kuò)展CGridView如何增加導(dǎo)出CSV功能-創(chuàng)新互聯(lián)

這篇文章主要介紹Yii框架擴(kuò)展CGridView如何增加導(dǎo)出CSV功能,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

創(chuàng)新互聯(lián)企業(yè)建站,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),專注于網(wǎng)站建設(shè)技術(shù),精于網(wǎng)頁(yè)設(shè)計(jì),有多年建站和網(wǎng)站代運(yùn)營(yíng)經(jīng)驗(yàn),設(shè)計(jì)師為客戶打造網(wǎng)絡(luò)企業(yè)風(fēng)格,提供周到的建站售前咨詢和貼心的售后服務(wù)。對(duì)于成都網(wǎng)站設(shè)計(jì)、成都網(wǎng)站制作中不同領(lǐng)域進(jìn)行深入了解和探索,創(chuàng)新互聯(lián)在網(wǎng)站建設(shè)中充分了解客戶行業(yè)的需求,以靈動(dòng)的思維在網(wǎng)頁(yè)中充分展現(xiàn),通過(guò)對(duì)客戶行業(yè)精準(zhǔn)市場(chǎng)調(diào)研,為客戶提供的解決方案。

具體如下:

Yii提供的CGridView組件沒(méi)有內(nèi)置數(shù)據(jù)導(dǎo)出功能,不過(guò)我們可以通過(guò)擴(kuò)展該組件來(lái)添加該功能。

具體方法如下:

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

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、然后在表格控件界面上添加一個(gè)csv導(dǎo)出按鈕


覆蓋其renderItems()方法如下:

public function renderItems()
{
  if(Yii::app()->user->checkAccess('administrator'))
  {
    echo '';
    echo 'action)).'&id='.$this->id.'" method="post">';
    foreach($this->getController()->getActionParams() as $name => $value)
    {
      echo '';
    }
    echo 'theme->BaseUrl.'/images/ico-csv.png" alt="Submit">';
    echo '';
    echo '
';   }   parent::renderItems(); }

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

widget('application.extensions.grid.MyGridView', array(
  'id'=>'grid',
  'action'=>'export',
  'dataProvider'=>$dp,
  'columns'=>array(
    array(
      'header'=>Yii::t('Statistics','Phone'),
      'name'=>'phone',
    ),
    array(
      'header'=>Yii::t('Statistics','Count'),
      'name'=>'count',
    ),
  )
));?>

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

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

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

以上是“Yii框架擴(kuò)展CGridView如何增加導(dǎo)出CSV功能”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!


本文名稱:Yii框架擴(kuò)展CGridView如何增加導(dǎo)出CSV功能-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://weahome.cn/article/djgjpe.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部