jQuery easyui 結合ThinkPHP使用,關於讀取資料顯示問題

來源:互聯網
上載者:User
原來項目寫了一個EasyUI類,裡面寫了一個datagrig()方法
public function _datagrid($tag) {
$id = !empty($tag['id']) ? $tag['id'] : strtolower(CONTROLLER_NAME.'_'.ACTION_NAME.'_datagrid');
$style = !empty($tag['style']) ? $tag['style'] : '';
//預設參數
$dataOptions = array(
'border' => false,
'fit' => true,
'fitColumns' => true,
'rownumbers' => true,
'singleSelect' => true,
'pagination' => true,
'pageList' => array(20,30,50,80,100),
'pageSize' => cookie('pagesize') ? cookie('pagesize') : C('DATAGRID_PAGE_SIZE'),
);
$options = $tag['options'] ? $this->autoBuildVar($tag['options']) : 'array()';
$fields = $tag['fields'] ? $this->autoBuildVar($tag['fields']) : 'null';

$parseStr = '

\' style="'. $style .'"> '; $parseStr .= '$arr):if(isset($arr[\'formatter\'])):unset($arr[\'formatter\']);endif;echo " ";endforeach;endif; ?>'; $parseStr .= '
".$key."
';

return $parseStr;
}
控制器裡是這樣寫的邏輯
$datagrid = array(
'options' => array(
'title' => $currentpos,
'url' => U('Uc/pages', array('grid'=>'datagrid')),
'toolbar' => 'uc_pages_datagrid_toolbar',
),
'fields' => array(
'page' => array('field'=>'page','width'=>15,'sortable'=>true),
'Access' => array('field'=>'private','width'=>15,'sortable'=>true),
'管理操作' => array('field'=>'id','width'=>15,'formatter'=>'ucPagesOperateFormatter'),
)
);


$this->assign('datagrid', $datagrid);
頁面是這樣引用標籤的,資料就出來了




現在的問題是,這是操作的pages表,裡面有欄位id ,page ,private,private的值是0或者1,控制器裡利用field=》‘private'將0或者1顯示到了頁面上,但是我們的要求是當資料庫privat欄位值是0時頁面顯示public,是1時,頁面顯示private。不改變表的內容,結構,也就是不動表,怎樣操作才能實現呢?請大家幫我看看,謝謝!


回複討論(解決方案)

我頭腦一熱,忽然發現,利用跟管理操作那一列的方式顯示就能實現,呵呵,解決了!
我在pages頁面裡定義了一個格式化函數ucPagesAccessFormatter()
//Access格式化
function ucPagesAccessFormatter(val){
var btn=[];
if(val==0){
return "public";
}else{
return "private";
}
}
在控制器裡寫成:
'fields' => array(
'page' => array('field'=>'page','width'=>15,'sortable'=>true),
'Access' => array('field'=>'private','width'=>15,'formatter'=>'ucPagesAccessFormatter'),
'管理操作' => array('field'=>'id','width'=>15,'formatter'=>'ucPagesOperateFormatter'),
)
結果頁面就顯示出來了:

你們誰回複下啊,我好給你們分啊,我給不了自己分啊,不然分全浪費了!

呃,會easyUI,不會php

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.