手机版

ASP .净MVC5 EF6易居后台管理系统(81)-数据筛选(万能查询)实例

时间:2021-09-07 来源:互联网 编辑:宝哥软件园 浏览:

前言

听标题的名字似乎是一个非常牛X复杂的功能,但是实际上它确实是非常复杂的,我们本节将演示如何实现对数据,进行组合查询(数据筛选)

我们都知道超过中是如何筛选数据的。就像下面一样

他是一个并的关系,我们现在要做的也是这样的效果,下面我们将利用易居的数据网格为例来扩展(就算是其他组件也是可以的,同样的实现方式!)

实现思路

1.前台通过查询组合json

2.后台通过反射拆解json

3.进行组合查询

虽然短短3点,够你写个3天天夜了

优点:需要从很多数据中得到精准的数据,通常查一些商品他们的属性异常接近的情况下使用

缺点:我实现的方式为伪查询,大量数据请使用存储过程

简单了解

从易居的官方扩展中了解到一个射流研究…文件,但是实质上,这个文件病菌很多,在使用中我曾经一度认为是使用出现问题,其实他根本就不可用

所以我这里先献上修改后的整个射流研究…代码

(函数($){函数getPluginName(目标){ if($(目标)).数据('树网格'){返回'树网格';} else { return ' datagrid } } var autosize列1=$。fn。数据网格。方法。自动调整列大小;var loaddatamethod 1=$。fn。数据网格。方法。loaddatavar appendmethod 1=$。fn。数据网格。方法。appendrowvar删除方法1=$。fn。数据网格。方法。删除行;$.extend($.fn.datagrid.methods,{ autosize column : function(jq,field){ return jq。每个(函数(){ var fc=$(this)).datagrid('getPanel ').查找('。数据网格标题.datagrid-filter-c ');fc。hide();自动调整列1的大小。调用($。fn。数据网格。methods,$(this),field);fc。show();resizeFilter(此,字段);});},loadData:函数(jq,data){ jq.each(function(){ $).数据(这是数据网格).filter source=null });返回loaddatamethod 1。调用($。fn。数据网格。方法、jq、数据);},appendRow:函数(jq,row){ var result=appendmethod 1。调用($。fn。数据网格。methods,jq,row);jq。每个(函数(){ var state=$(this)).数据(“data grid”);if(状态。筛选器源){ state。过滤源。总计;if (state.filterSource.rows!=状态。数据。行){ state。过滤源。行。推(排);} } });返回结果;},deleteRow:函数(jq,index){ jq。每个(函数(){ var state=$(this)).数据(“data grid”);var opts=state.optionsif(state。过滤源选项。idfield){ if(state。过滤源。rows==state。数据。行){ state。过滤源。总计-;} else { for(var i

版权声明:ASP .净MVC5 EF6易居后台管理系统(81)-数据筛选(万能查询)实例是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。