过滤下拉数据网格


下拉数据网格(Combogrid)组件和下拉框(Combobox)组件的共同点是,除了都具有下拉面板以外,它们都是基于数据网格(Datagrid)的。 下拉数据网格(Combogrid)组件可以过滤、分页,并具有其他一些数据网格(Datagrid)的功能。 本教程向您展示如何在一个下拉数据网格(Combogrid)组件中过滤数据记录。

创建下拉数据网格(Combogrid)

  1. <input id="cg" style="width:150px">
  1. $('#cg').combogrid({
  2. panelWidth:500,
  3. url: 'form5_getdata.php',
  4. idField:'itemid',
  5. textField:'productid',
  6. mode:'remote',
  7. fitColumns:true,
  8. columns:[[
  9. {field:'itemid',title:'Item ID',width:60},
  10. {field:'productid',title:'Product ID',align:'right',width:80},
  11. {field:'listprice',title:'List Price',align:'right',width:60},
  12. {field:'unitcost',title:'Unit Cost',align:'right',width:60},
  13. {field:'attr1',title:'Attribute',width:150},
  14. {field:'status',title:'Stauts',align:'center',width:60}
  15. ]]
  16. });

下拉数据网格(Combogrid)组件应该定义 'idField' 和 'textField' 属性。 'idField' 属性存储组件值,'textField' 属性在 input 文本框中显示文本消息。 下拉数据网格(Combogrid)组件可以以 'local' 或 'remote' 模式过滤记录。 在远程(remote)模式中,当用户输入字符到 input 文本框中,下拉数据网格(Combogrid)将发送 'q' 参数到远程服务器。

服务器端代码

form5_getdata.php
  1. $q = isset($_POST['q']) ? strval($_POST['q']) : '';
  2.  
  3. include 'conn.php';
  4.  
  5. $rs = mysql_query("select * from item where itemid like '%$q%' or productid like '%$q%'");
  6. $rows = array();
  7. while($row = mysql_fetch_assoc($rs)){
  8. $rows[] = $row;
  9. }
  10. echo json_encode($rows);

下载 jQuery EasyUI 实例

下载地址