我在使用LigerUI中根据表单查询条件进行查询,使用表格Grid展示时出的问题

huisheng 2014-03-20 07:22:35
我的代码如下,要实现的是筛选记录。
数据是通过后台得到的。
$(function () {
grid = $("#maingrid").ligerGrid({
columns: [
{ name: 'ID', display: '序号', width: 85 },
{ name: 'UserName', display: '用户名', width: 120 },
{ name: 'RoleName', display: '所属部门', width: 80 },
{ name: 'StateTxt', display: '用户状态', width: 80 }
],
url:'../Sys_User/UserGetData',
sortname: 'ID', pageSize: 20, rownumbers: true,
width: '98%', height: '100%', heightDiff: -10, rowHeight: 28,
where: f_getWhere()
});
});

//过滤属性
function f_getWhere() {
// alert(JSON.stringify(griddata));
if (!grid) return null;

var clause = function (rowdata, rowindex) {
var username = $('#txtKey').val();
var rolename = $('#SSjoblist').val(); //部门
return ((rowdata.UserName.indexOf(username) > -1) || (rowdata.RoleName.indexOf(rolename) > -1) );
};
return clause;
}

function fsearch() {

$.ajax({
url: '../Sys_User/UserGetData',
dataType: 'json',
type: 'POST',
success: function (result) {
if (result.Total > 0) {
griddata = JSON.stringify(result);
alert(JSON.stringify(result));
}
}
});

grid.options.data = $.extend(true, {}, griddata);
grid.loadData(f_getWhere());
}

数据显示是正常的。筛选也没有提示出错,就是输入条件后,和查询前的结果一样的。没有变化。

...全文
3306 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
yangziyan126 2014-09-26
  • 打赏
  • 举报
回复
griddata = JSON.stringify(result);涉及浏览器兼容问题,IE会出问题
huisheng 2014-03-25
  • 打赏
  • 举报
回复
谢谢。结贴。
hellofurixiang 2014-03-21
  • 打赏
  • 举报
回复
---------前台 <div id="mainsearch" style=" width:98%"> <div class="searchtitle"> <span>搜索</span><img src="@Url.Content("~/Content/icons/32X32/searchtool.gif")" /> <div class="togglebtn"></div> </div> <div class="navline" style="margin-bottom:4px; margin-top:4px;"></div> <div class="searchbox"> <form id="formsearch" class="l-form"></form> </div> </div> <div id="maingrid"></div> <script type="text/javascript"> //相对路径 var rootPath = "@Url.Content("~/Admin/")"; var columns=[ { display: "编号", name: "CustomerID", type: "hidden", width: 70, minWidth: 30 }, { display: "会员账号", name: "Username", width: 230, type: "text", align: "Center" }, { display: "机构编号", name: "OrgID", width: 180, type: "text", align: "Center" }, { display: '邮箱', name: 'Email', align: 'Center', width: 250, minWidth: 30, type: 'text' }, { display: "状态", name: "Active", width: 70, type: "text", align: "Center",render: function (row) { var sts = "未知"; if (row.Active == "1") { return "启用"; } else if (row.Active == "0") { return "禁用" } return sts; }}, { display: "是否删除", name: "Deleted", width: 70, type: "text", align: "Center",render: function (row) { var sts = "未知"; if (row.Deleted == "1") { return "是"; } else if (row.Deleted == "0") { return "否" } return sts; }} ]; //列表结构 var grid = $("#maingrid").ligerGrid({ columns: columns, dataAction: 'server', pageSize: 20, toolbar: {}, url: rootPath + 'NopCustomer/GetAllForGrid', sortName: 'CustomerID', width: '98%', height: '100%',heightDiff:-10, checkbox: true }); //双击事件 LG.setGridDoubleClick(grid, 'modify'); $("#formsearch").ligerForm({ fields: [ { display: "会员账号", name: "Username", newline: true, labelWidth: 100, width: 220, space: 30, type: "text", cssClass: "field" }, { display: "机构", name: "OrgID",attr: { op: "equal" }, newline: false, labelWidth: 100, width: 220, space: 30, type: "select", cssClass: "field" , comboboxName:"OrganName",options: {tree:{url :'@Url.Content("~/Admin/OrganCustomer/GetTreeList")', checkbox: false,isExpandCurrent: false, btnClickToToggleOnly: true }, valueFieldID: "OrgID",selectBoxWidth: 250,selectBoxHeight: 200, treeLeafOnly: false }}], appendID: true, toJSON: JSON2.stringify }); //增加搜索按钮,并创建事件 LG.appendSearchButtons("#formsearch", grid); </script> -------后台 [Description("[机构客户]获取用户信息(主页必须)")] [LoginAllowView] public ActionResult GetAllForGrid() { LigerUIGridRequest requestGrid = new LigerUIGridRequest(HttpContext); return this.JsonFormat(service.GetAllCustomers(requestGrid)); } 你开始就写错了,你这样是获取不到数据的,这样些是初始化界面时的条件,$('#txtKey').val()这样是没办法获取到数据的,它是列,attr: { op: "equal" }为查询条件对应的对比符号,点击搜索按钮之后会提交数据到HttpContext,希望能帮到你。
huisheng 2014-03-21
  • 打赏
  • 举报
回复
请高手帮帮我吧。
huisheng 2014-03-21
  • 打赏
  • 举报
回复
你好,你这段代码来源于LigerRmv2的源代码中。。在使用时受到了他的很多限制。
ligerRM V2是基于 ligerui的web应用系统。以权限管理作为设计重点,引入Northwind作为主要的数据演示模块。权限方面,在上一个版本的基础上面加多了数据权限控制。后台方面采用dot net 3.5框架开发。 系统演示:http://case.ligerui.com 前台插件:jQuery、jQuery.ligerui、jQuery.form.js、jquery.validation 数据交互:liger.Data(一个小型的ORM组件) 源码下载:ligerRMV2 演示账户: 账户   名字 头衔 密码 test3 录入员1 基础数据录入员1 1 test2 录入员2 客户数据录入员2 1 test1 高级演示账号1 高级演示账号1 1 test4 订单查看员1 订单查看员1 - Sales Representative 1 test5 供应商1 供应商1 - Exotic Liquids44 1 系统特色 1,不采用code-behind机制,不使用任何服务器控件,全面将工作放在前台实现,后台只处理数据部分。页面还是用aspx后缀,继承于统一的页面基类(为了方便权限的控制)。 2, 极大得避免代码冗余。无论是列表页面还是明细页面,你看到的代码都是极其简洁的,就算是表单,甚至不需要任何的html代码,而是定义【有用的信息】,对【布局】、【数据】有用的 【数据结构】,当然表格、搜索框 都是如此。 3,统一的数据提交/接收接口,所有的数据请求通过ajax实现,经过 handler/*.ashx处理,针对前台数据请求类型的不同,一共有6个: ajax.ashx ---- 通用的数据请求入口(表单提交入口、表单加载入口、常用的数据加载入口等等) grid.ashx ---- 通用的ligerGrid表格数据加载入口 treegrid.ashx ---- 通用的ligerGrid表格树格式数据加载入口 tree.ashx ---- 通用的ligerTree树格式数据加载入口 select.ashx ---- 通用的ligerComboBox数据加载入口 validate.ashx ---- 通用的验证数据验证入口(针对jQuery.validation remote验证) 4,完善的数据权限控制机制。除了基本的 (用户角色) => (模块功能) 这类的功能权限控制,还在数据请求入口做了一点小动作,根据【当前的用户信息】和【配置好的数据权限规则】筛选过滤数据。 5,自动的搜索框、自动的表单表单和搜索框不再需要一堆复杂冗余的html,而是定义好字段的信息(字段名、宽度、类型等)就可以自动完成页面的构造。 6,自动的表格,同样地表格也只是需要一些配置信息,就可以自动完成。并利用过滤器插件,拥有高级自定义查询功能,和历史查询功能。
V1.1.0更新记录: 表格 [需求]加入分组模式 [需求]加入树模式 [需求]加入统计行(位于底部) [需求]加入延时加载 [需求]加入本地查询支持 [需求]加入复选框初始化的支持 [需求]列 百分比 [需求]列 显示和隐藏 [需求]列 表头改变文字 [需求]编辑器事件: 编辑前事件、验证编辑器结果是否通过、结束编辑后事件 [需求]增加右击接口 [需求]多表头 [优化]grid新增行的时候可通过column的defaultValue进行设置默认值 [修复]grid的编辑功能和checkbox多选功能存在冲突 [修复]修复加载时不显示loading的问题,并加入自定义加载时的支持 [修复]修改grid addRow()如果没有数据的时候row没有高度 [修复]修改可编辑gridDateEditor编辑错误的问题 下拉框 [需求]支持动态改变值 [需求]增加打开下拉框前事件,利用这个参数可以用来调用其他函数,比如打开一个新窗口来选择值 表单 [需求]spinner支持最大最小值 树 [需求]增加 选择/反选择节点 接口 弹窗 [需求]支持回车关闭 [修复]dialog.frame浏览器兼容支持 V1.0.2更新记录: 皮肤 [增加]增加一套皮肤(Silvery) [增加]增加一套图标 表单 [增加]增加表单提示气泡插件,结合表单验证使用,在demo提供表单验证的一个解决方案 [优化]优化表单,每个表单插件(ligerTextBox、ligerSpinner等)可以通过属性ligerui自动加载参数,如ligerui="{width:200}" 表格 [优化]gridRows和Total字段名可配置,提交给服务器的参数可配置,所有与用户操作交互的地方(如上一页、下一页)都加上事件 [优化]插件执行直接返回ligerGrid Manager(其他用到接口管理对象的插件都类同) 树 [优化]树支持id pid的这种线性数据结构格式 弹窗 [修复]弹窗样式冲突 [优化]弹窗增加close支持 V1.0.1更新记录: 弹窗 [增加]增加新插件:弹框,命名空间为$.ligerDialog。一系列静态方法。包括Open、Success、Error、Warn、Show。(这个样式比较美观,于是加上去了。并采用九格的排版方式,兼容性更好,扩展性更好)集对话框、模态窗口、非模态窗口等于这个命名空间下。(原来已经有弹出框插件和窗口插件了,ligerWindow和ligerMessage,不推荐,暂时保留) 菜单 [增加]增加新插件:菜单、菜单条、工具条,菜单可以自定义图片,可以动态设置项,动态的显示位置。菜单条和是在菜单的基础上显示的一个类似Window菜单的一个插件,工具条是一些按钮的集合,可以自定义图片。 树 [增加]提供右击方法实现的接口 [优化]点击项就折叠/反折叠,而不是点击 + 才折叠 下拉框 [增加]支持在分页的表格在选取数据(配置grid,参数跟ligerGrid的参数一致)  [增加]支持在树选取数据(配置tree,参数跟ligerTree的参数一致)  [增加]提供Resize方法实现的接口 [优化]细节优化 表格 [增加]汇总方式增加一个render(自定义函数,不限于sum、avg、count、max、min)  [增加]增加复选框列,同时增加相应的事件和方法。 [优化]优化了显示速度 [修复]解决在IE6下表格头部文字消失的问题 [修复]解决包含在form下不能正常显示高度的问题(height设置为百分比) 布局 [增加]ligerTab增加右键菜单功能,包括 关闭其他/关闭全部等。 [增加]ligerTab增加获取Items Count,删除项等常见方法 [增加]ligerLayout增加初始化控制左边/右边隐藏、是否折叠、是否调整大小等方法。 [优化]面板点击项就折叠/反折叠,而不是点击 + 才折叠 [修复]解决ligerLayout,在IE6下调整Line太宽的问题 [修复]解决ligerLayout,包含在form下不能正常显示高度的问题表单 [修复] ligerSpinner每次点击即增加/减少,而不是按住的时候才有效果

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧