<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    菠蘿三國

    大江東去,浪淘盡...
    隨筆 - 34, 文章 - 47, 評論 - 22, 引用 - 0
    數據加載中……

    學習EXT第五日--Grid組件的簡易分頁

    教程:Grid組件的簡易分頁

    本例將會帶你進入Grid分頁的世界

    原文作者:Shea Frederick 出處

    參考圖:

    讀者應先下載本例涉及的示范代碼。這里是一個已經完成好的例子

    Gird數據

    Grid的分頁必須依靠服務端(Server Side)來劃分好每一頁的數據才可以完成。

    本例中的服務端語言是PHP,數據庫是MySQL,用來導出一些隨機的數據。下列腳本的作用是,獲取我們想要的數據,同時這些數據是已分好頁的數據。分頁的參數是由Page Toolbar傳入的變量limit和start所決定的。

    
    $link = mysql_pconnect("test-db.vinylfox.com", "test", "testuser")
    or die("Could not connect");
    mysql_select_db("test") or die("Could not select database");
    $sql_count = "SELECT id, name, title, hire_date, active FROM random_employee_data";
    $sql = $sql_count . " LIMIT ".$_GET['start'].", ".$_GET['limit'];
    $rs_count = mysql_query($sql_count);
    $rows = mysql_num_rows($rs_count);
    $rs = mysql_query($sql);
    while($obj = mysql_fetch_object($rs))
    {
    $arr[] = $obj;
    }
    Echo $_GET['callback'].'({"total":"'.$rows.'","results":'.json_encode($arr).'})';
    
    

    由于每個后臺開發的環境都不盡相同,所以這里的服務端代碼就不細究了。

    怎么做一個分頁的Grid

    本例采用的是ScriptTagProxy,原因是 范例代碼 和 服務端代碼 不是在同一個服務器上(譯注:即“跨域”),而大多數的情況是,在同一個服務器上得到數據,直接用HttpProxy就可以了。

    使用DataStore與平時唯一不同的地方,便是需要設置totalProerty屬性。本例中,我們從服務端的腳本計算出“total”這個值,告訴DataStore總共有多少個記錄,這里指的是所有的記錄數。

    
    var ds = new Ext.data.Store({
    proxy: new Ext.data.ScriptTagProxy({
    url: 'http://www.vinylfox.com/yui-ext/examples/grid-paging/grid-paging-data.php'
    }),
    reader: new Ext.data.JsonReader({
    root: 'results',
    totalProperty: 'total',
    id: 'id'
    }, [
    {name: 'employee_name', mapping: 'name'},
    {name: 'job_title', mapping: 'title'},
    {name: 'hire_date', mapping: 'hire_date', type: 'date', dateFormat: 'm-d-Y'},
    {name: 'is_active', mapping: 'active'}
    ])
    });
    
    

    分頁欄Toolbar

    這里加入一個分頁欄到Grid的面板中,--差不多完成嘍。

    
    var gridFoot = grid.getView().getFooterPanel(true);
    var paging = new Ext.PagingToolbar(gridFoot, ds, {
    pageSize: 25,
    displayInfo: true,
    displayMsg: 'Displaying results {0} - {1} of {2}',
    emptyMsg: "No results to display"
    });
    
    

    最后傳入startlimit參數以初始化數據。

    
    ds.load({params:{start:0, limit:25}});
    
    

    花時間較多的地方是,在后臺如何生成數據,以配合Grid的運作,一旦這些工作OK后,分頁Grid再不是一件難事了。

    posted on 2007-08-07 20:21 菠蘿 閱讀(355) 評論(0)  編輯  收藏 所屬分類: EXT

    主站蜘蛛池模板: 亚洲色大成网站www永久男同| 亚洲风情亚Aⅴ在线发布| 一二三四免费观看在线电影| 相泽南亚洲一区二区在线播放| 亚洲一区无码中文字幕 | 美女裸身网站免费看免费网站| 亚洲色欲色欱wwW在线| 亚洲五月综合缴情在线观看| 114一级毛片免费| 四虎影视久久久免费| 亚洲特级aaaaaa毛片| 亚洲国产一区视频| 国国内清清草原免费视频99| 国产免费内射又粗又爽密桃视频| 亚洲区精品久久一区二区三区| 亚洲av午夜成人片精品电影 | 国产亚洲精品一品区99热| 曰批全过程免费视频在线观看| 四虎国产精品成人免费久久 | 老司机亚洲精品影视www| 国产高清免费视频| 羞羞视频免费网站在线看| 亚洲熟女www一区二区三区| 国产成人无码综合亚洲日韩 | 日本亚洲国产一区二区三区| 国产成人精品免费视频大| 久久九九免费高清视频| 亚洲精品永久在线观看| 亚洲精品不卡视频| 国产精品国产亚洲精品看不卡| 免费在线观看视频a| 拍拍拍又黄又爽无挡视频免费| 亚欧免费无码aⅴ在线观看| 色爽黄1000部免费软件下载| 亚洲综合av一区二区三区| 亚洲伦另类中文字幕| 黑人大战亚洲人精品一区| 日韩精品电影一区亚洲| 日韩毛片无码永久免费看| 可以免费看黄视频的网站| 免费A级毛片无码视频|