jQuery EasyUI データグリッド -ページネーションコンポーネントの追加

この例では、サーバーサイドからデータをロードし、データグリッド(datagrid)にページネーションコンポーネント(pagination)を追加する方法を示します。

データグリッド(DataGrid)を作成

リモートサーバーサイドからデータをロードするには、'url' プロパティを設定する必要があります。サーバーサイドでは JSON 形式のデータを返す必要があります。データグリッド(datagrid)のドキュメントを参照して、データ形式の詳細を確認してください。

    <table id="tt" class="easyui-datagrid" style="width:600px;height:250px"
            url="datagrid2_getdata.php"
            title="Load Data" iconCls="icon-save"
            rownumbers="true" pagination="true">
        <thead>
            <tr>
                <th field="itemid" width="80">Item ID</th>
                <th field="productid" width="80">Product ID</th>
                <th field="listprice" width="80" align="right">List Price</th>
                <th field="unitcost" width="80" align="right">Unit Cost</th>
                <th field="attr1" width="150">Attribute</th>
                <th field="status" width="60" align="center">Stauts</th>
            </tr>
        </thead>
    </table>

データグリッド(datagrid)の列を定義し、'pagination' プロパティを true に設定します。これにより、データグリッド(datagrid)の下部にページネーション(pagination)ツールバーが生成されます。pagination は次の2つのパラメータをサーバーに送信します:

  • page:ページ番号。初期値は1です。
  • rows:1ページに表示する行数。

サーバーサイドコード

    $page = isset($_POST['page']) ? intval($_POST['page']) : 1;
    $rows = isset($_POST['rows']) ? intval($_POST['rows']) : 10;
    // ...
    $rs = mysql_query("select count(*) from item");
    $row = mysql_fetch_row($rs);
    $result["total"] = $row[0];
    
    $rs = mysql_query("select * from item limit $offset,$rows");
    
    $items = array();
    while($row = mysql_fetch_object($rs)){
        array_push($items, $row);
    }
    $result["rows"] = $items;
    
    echo json_encode($result);

jQuery EasyUI サンプルをダウンロード

jeasyui-datagrid-datagrid2.zip

その他の拡張機能