求助:我在使用Ligerui的Grid控件查询处理时不知道要怎么做了。

huisheng 2015-08-28 09:04:26
如题。我在使用ligerGrid中的高级查询时出现的问题:
就是我需要通过后台处理通过高级查询的结果并显示。
我的代码如下。但是我不知道前台数据库“griddata”如何改成通过后台获取。还有就是高级查询的条件如何传给后台。

@{
ViewBag.Title = "aaa";
Layout = "~/Views/Shared/LayoutPage.cshtml";
}
<script src="../../LigerUI/ligerUI/js/ligerui.min.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerUI/js/plugins/ligerFilter.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerUI/js/plugins/ligerToolBar.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerUI/js/plugins/ligerDialog.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerUI/js/plugins/ligerGrid.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerUI/js/plugins/ligerFilter.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerUI/js/plugins/ligerDrag.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerUI/js/plugins/ligerResizable.js" type="text/javascript"></script>
<script src="../../LigerUI/ligerGrid.showFilter.js" type="text/javascript"></script>
<script src="../../LigerUI/CustomersData.js" type="text/javascript"></script>
<script type="text/javascript">
var griddata = null;
//去掉 大于小于包括,并改变顺序
$.ligerDefaults.Filter.operators['string'] =
$.ligerDefaults.Filter.operators['text'] =
["like", "equal", "notequal", "startwith", "endwith"];

//这个例子展示了本地过滤,你也可以在服务器端过滤(将过滤规则组成json,以一个参数提交给服务器)
//相见ligerGrid.showFilter.js
//data: { page: 20, pagesize: 20 },
$(function () {
window['g'] =
$("#maingrid4").ligerGrid({
columns: [
{ display: '编号', name: 'id', align: 'left', width: 60, frozen: true },
{ display: '时间', name: 'date', type: 'date', format: 'yyyy-MM-dd hh:mm:ss', width: 110 },
{ display: 'thread', name: 'thread', width: 70, align: 'left' },
{ display: '级别', name: 'level', width: 60, align: 'left' },
{ display: '用户ID', name: 'UserID', width: 60, align: 'left' },
{ display: 'logger', name: 'logger', width: 80, align: 'left' },
{ display: '提示信息', name: 'Message', minWidth: 200, width: 400 },
{ display: '错误信息', name: 'Exception', width: 200 }
],
data: $.extend(true, {}, griddata), pageSize: 30,
toolbar: { items: [{ text: '高级自定义查询', click: itemclick, icon: 'search2'}]
},
width: '90%', height: '80%', checkbox: false
});
$("#pageloading").hide();
});
function itemclick() {
g.options.data = $.extend(true, {}, griddata);
g.showFilter();
}
</script>
<div class="l-loading" style="display: block" id="pageloading">
</div>
<div id="maingrid4" style="margin: 0; padding: 0">
</div>
<div style="display: none;">
</div>

后台调用的是../dblj/GetList4
public JsonResult GetList4()
{
//排序的字段名 4
string sortname = Request.Params["sortname"]; //排序的方向 6
string sortorder = Request.Params["sortorder"]; //当前页 8
int page = Convert.ToInt32(Request.Params["page"]); //每页显示的记录数10
int pagesize = Convert.ToInt32(Request.Params["pagesize"]);
int total = 1000;
if (page <= 0)
page = 1;
if (pagesize <= 0)
pagesize = 20;

BLL.Log log = new BLL.Log();
List<Models.C_log> _list = log.GetList_Linq();
total = _list.Count();

List<Models.C_log> targetList = new List<Models.C_log>();
for (var i = 0; i < total; i++)
{
if (i >= (page - 1) * pagesize && i < page * pagesize)
{
targetList.Add(_list[i]);
}
}
var gridData = new
{
Rows = targetList,
Total = total
};
return Json(gridData);
}

亲高手指点。谢谢。分不多了。
...全文
295 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
huisheng 2015-08-29
  • 打赏
  • 举报
回复
看来大家都忙呀。已经没有人在论坛了。 问题已经自家解决。 方案如下。 引入Ligerui的 <script src="../../LigerUI/ligerGrid.showFilter.js" type="text/javascript"></script> <script src="../../LigerUI/json2.js" type="text/javascript"></script> 两个文件。 $(function () { window['g'] = $("#maingrid4").ligerGrid({ columns: [ { display: '编号', name: 'id', align: 'left', width: 60, frozen: true }, { display: '时间', name: 'date', type: 'date', format: 'yyyy-MM-dd hh:mm:ss', width: 110 }, { display: 'thread', name: 'thread', width: 70, align: 'left' }, { display: '级别', name: 'level', width: 60, align: 'left' }, { display: '用户ID', name: 'UserID', width: 60, align: 'left' }, { display: 'logger', name: 'logger', width: 80, align: 'left' }, { display: '提示信息', name: 'Message', minWidth: 200, width: 400 }, { display: '错误信息', name: 'Exception', width: 200 } ], dataAction: 'server', url:'../dblj/GetList4', pageSize: 30, toolbar: { items: [{ text: '高级自定义查询', click: itemclick, icon: 'search2'}] }, width: '90%', height: '80%', checkbox: false }); $("#pageloading").hide(); }); function itemclick() { g.options.data = $.extend(true, {}, g.getData()); g.showFilter(); } 在网上找到文件说需要修改showFilter.js文件下面这个位置 function loadData() { var data = filter.getData(); if (g.dataAction == "server") { //服务器过滤数据 loadServerData(data); } else { //本地过滤数据 loadClientData(data); } } 改为:“g“改”p“ function loadData() { var data = filter.getData(); if (p.dataAction == "server") { //服务器过滤数据 loadServerData(data); } else { //本地过滤数据 loadClientData(data); } } 后台通过string where = Request.Params["parms"];获取。 最后是对where反序列化组合成sql可以使用的条件就可以了。
huisheng 2015-08-28
  • 打赏
  • 举报
回复
自家顶下。希望大家谁能给我提提意见。

62,039

社区成员

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

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

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

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