extjs4 .NET 实现文本框模糊查询
{xtype: 'combobox',fieldLabel: '需求商',id: 'companayDemand',name: 'companayDemand',store: 'TraderNews',//包含companay的store,后台json格式获得valueField: 'traderid',displayField: 'companay',typeAhead: false,hideTrigger: true,emptyText: '请选择...',minChars: 2,//输入字符长度为2时开始查询 //listConfig属性用来设置模糊查询的关键listConfig: {loadingText: '正在查询...',emptyText: '未找到相关匹配记录!',allowPaging: false,getInnerTpl: function () { // companay为要查询的字段return '<span name="code">Ext.define('AM.store.TraderNews', { extend: 'Ext.data.Store', model: 'AM.model.TraderNew', autoLoad: false, pageSize: 1500, //---------- add by zhangxin 2012.1.5 整体排序 start---------- remoteSort: true, //---------- add by zhangxin 2012.1.5 整体排序 end---------- proxy: { type: 'ajax', api: { read: '/Trader/JsonIndexNew'//调用TraderController里面的JsonIndexNew方法 }, reader: { type: 'json', root: 'data' } }});
进入.net的后台方 url: '/Trader/JsonIndexNew',
public JsonResult JsonIndexNew() { var tradersList = dbContent.FindAll(); string searchstring = ""; if (Request["query"] != null && Request["query"].Length > 0) { searchstring = Request["query"]; } var companay = from it in tradersList select new { it.traderid, it.companay }; companay = companay.Where(it => it.companay.Contains(searchstring)); return Json(new { success = true, data = companay}, JsonRequestBehavior.AllowGet); }
实现效果
