jQuery EasyUI フォーム -コンボグリッドのフィルタリング

コンボグリッド(Combogrid)コンポーネントとコンボボックス(Combobox)コンポーネントの共通点は、どちらもドロップダウンパネルを備えていることに加えて、データグリッド(Datagrid)をベースにしているということです。 コンボグリッド(Combogrid)コンポーネントは、フィルタリング、ページング、およびその他のデータグリッド(Datagrid)の機能を備えています。 このチュートリアルでは、コンボグリッド(Combogrid)コンポーネントでデータレコードをフィルタリングする方法を説明します。

コンボグリッド(Combogrid)の作成

<input id="cg" style="width:150px">
$('#cg').combogrid({
    panelWidth:500,
    url: 'form5_getdata.php',
    idField:'itemid',
    textField:'productid',
    mode:'remote',
    fitColumns:true,
    columns:[[
        {field:'itemid',title:'Item ID',width:60},
        {field:'productid',title:'Product ID',align:'right',width:80},
        {field:'listprice',title:'List Price',align:'right',width:60},
        {field:'unitcost',title:'Unit Cost',align:'right',width:60},
        {field:'attr1',title:'Attribute',width:150},
        {field:'status',title:'Stauts',align:'center',width:60}
    ]]
});

コンボグリッド(Combogrid)コンポーネントは、'idField' と 'textField' プロパティを定義する必要があります。 'idField' プロパティはコンポーネントの値を保存し、'textField' プロパティは input テキストボックスにテキストメッセージを表示します。 コンボグリッド(Combogrid)コンポーネントは、'local' または 'remote' モードでレコードをフィルタリングできます。 リモート(remote)モードでは、ユーザーが input テキストボックスに文字を入力すると、コンボグリッド(Combogrid)は 'q' パラメータをリモートサーバーに送信します。

サーバーサイドのコード

form5_getdata.php
$q = isset($_POST['q']) ? strval($_POST['q']) : '';

include 'conn.php';

$rs = mysql_query("select * from item where itemid like '%$q%' or productid like '%$q%'");
$rows = array();
while($row = mysql_fetch_assoc($rs)){
    $rows[] = $row;
}
echo json_encode($rows);

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

jeasyui-form-form5.zip

その他の拡張