C1wpf datagrid filter的filter筛选功能 删选的条件可以入力进去全角字符吗

6709人阅读
&&&&&& DataGridView和SQL SERVER 已经绑定,是通过DataSources窗口将对于数据库表拖进界面上自动绑定好的。
&&&& DataGridView显示的是数据库全部数据,现在想通过一个Combo box下拉动作来筛选符合条件的数据,并刷新DataGridView。在网上找了很久都没有找到个能用的方法,有人建议说将DataGridView中不符合条件给屏蔽掉(visible = false),我试了下,我发现在屏蔽行的时候,必须先屏蔽列才会生效,不然会报错,而且用for来查询,对于多数据效率也不行。并且新建的行也被屏蔽掉了,所以比较麻烦也不适用。所以自己想了一个方法,来和大家分享下。
&&&& 这个方法主要是利用了BindingSource.Filter 这个属性。话不多说了,上代码吧,代码很简单。
&&&&&自定义函数:CustomGridRefresh
public partial class Form1:Form
& private void CustomGridRefresh(string str)
&&&&&&&&&&& string strFilter = String.Format(&Project = '{0}'&,str);& //我这里是用的数据库 Project字段来筛选的,可以根据需要自己定义。
&&&&&&&&&&&&&this.bTBindingSource.Filter = strF&&&&&&&&&&
&&&&&&&&&&&& this.bTDataGridView.Refresh();
在combo box响应函数里面就可以调用上述函数,传进 str。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:80384次
积分:1057
积分:1057
排名:千里之外
原创:18篇
转载:28篇
评论:23条
(2)(2)(1)(1)(3)(5)(5)(5)(5)(9)(6)(2)2221人阅读
JavaScript(54)
包含 'datagrid-filter.js' 文件
type=&text/javascript& src=&datagrid-filter.js&
启用过滤(Filter)
var dg = $('#dg');dg.datagrid(); // create datagriddg.datagrid('enableFilter'); // enable filter
该属性扩展自数据网格(datagrid),下面是为数据网格(datagrid)添加的属性。
默认值
filterMenuIconCls
过滤菜单项(指示要使用的项目)的图标 class。
filterBtnIconCls
过滤按钮的图标 class。
icon-filter
filterBtnPosition
过滤按钮的位置。可能的值是 'left' 和 'right'。
filterPosition
过滤栏相对于列的位置。可能的值是 'top' 和 'bottom'。
remoteFilter
设置为 true 则执行远程过滤。
当启用时,'filterRules' 参数将发送到远程服务器。
'filterRules' 参数的值由 'filterStringify' 函数获得。
filterDelay
从 'text' 过滤组件中最后一个键输入事件起,延迟执行过滤的时间。
filterRules
过滤规则的定义。每个规则包含 'field'、'op' 和 'value' 属性。
filterStringify
把过滤规则字符串化的函数。
function(data){ return JSON.stringify(data);}
下面的方法扩展自数据网格(datagrid)。
enableFilter
创建并启用过滤功能。
'filters' 参数是一个过滤配置的数组。
每一项包含下列属性:
1) field:需要定义规则的域。
2) type:过滤类型,可能的值:label、text、textarea、checkbox、numberbox、validatebox、datebox、combobox、combotree。
3) options:过滤类型的选项。
4) op:过滤操作,可能的值:contains、equal、notequal、beginwith、endwith、less、lessorequal、greater、greaterorequal。
代码实例:
$('#dg').datagrid('enableFilter');$('#dg').datagrid('enableFilter', [{ field:'listprice', type:'numberbox', options:{precision:1}, op:['equal','notequal','less','greater']}]);
addFilterRule
添加一个过滤规则。
$('#dg').datagrid('addFilterRule', { field: 'desp', op: 'contains', value: 'easyui'});
removeFilterRule
移除过滤规则。
如果 'field' 参数未指定,移除所有的过滤规则。
基于过滤规则执行过滤。
getFilterComponent
在指定的域上获取过滤组件。
$(&#detailedmappingGrid&).datagrid({
pagination:true,
fitColumns:true,
toolbar:'#detailedmappingToolbar',
singleSelect:true,
checkOnSelect:true,
selectOnCheck:true,
pageNumber:1,
pageSize:15,
pageList:[10,15,20,50,100], // 可选翻页列表
singleSelect:true,
remoteSort:false,
sortName:'',
sortOrder:'asc',
remoteFilter: false,
filterDelay: 400,
filterRules: [],
columns:[[{field:&id&,hidden:true},
{field:'mappingTypeId',hidden:true},
{field:'tableInId',hidden:true},
{field:'tableOutId',hidden:true},
{field:'',title:'',checkbox:true},
{field:'tableInCode',title:&内部字典DIC码&,width:100,align:'center'},
{field:'tableInName',title:&内部字典名称&,width:200,align:'center'},
{field:&tableOutName&,title:&外部字典名称&,width:200,align:'center'},
{field:&tableOutCode&,title:&外部字典DIC码&,width:100,align:'center'},
{field:&operation&,title:'操作',width:50,align:'center',formatter:
function(value,row,index){
return &&a
href='#' onclick='detailed(&+index+&)'&详细映射&/a&&;
$(&#detailedmappingGrid&).datagrid('enableFilter');
添加一个过虑条件
//添加过滤器
$('#detailedmappingGrid').datagrid('addFilterRule', {
field: 'tableInCode',
op: 'contains',
value: '入院途径'
//执行过滤
$('#detailedmappingGrid').datagrid('doFilter');
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:178115次
积分:4249
积分:4249
排名:第5728名
原创:247篇
转载:16篇
评论:55条
(3)(4)(4)(6)(4)(4)(7)(7)(4)(4)(6)(4)(6)(10)(11)(7)(19)(10)(21)(13)(11)(17)(14)(6)(11)(1)(7)(18)(28)}

我要回帖

更多关于 datagrid filter row 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信