GRIDVIEW的筛选逻辑
来源:互联网 发布:爱普生r330清零软件 编辑:程序博客网 时间:2024/06/05 18:12
GRIDVIEW的筛选逻辑,其中funs为字段对应筛选器选项的名称,columns为对应字段的名称,vals为textbox所填的筛选数值,upper为筛选器的个数
#region Helper Methods public static string FilterCondition(string[] funcs,string[] columns,string[] vals,int upper) { string filterCondition = ""; for (int i = 0; i < upper; i++) { if (funcs[i] != String.Empty && funcs[i] != null) { switch (funcs[i]) { case "Contains": filterCondition += columns[i] + " LIKE '%" + vals[i] + "%'"; break; case "DoesNotContain": filterCondition += columns[i] + " NOT LIKE '%" + vals[i] + "%'"; break; case "StartsWith": filterCondition += columns[i] + " LIKE '" + vals[i] + "%'"; break; case "EndsWith": filterCondition += "rtrim("+columns[i]+")" + " LIKE '%" + vals[i] + "'"; break; case "EqualTo": filterCondition += columns[i] + " = " + vals[i]; break; case "NotEqualTo": filterCondition += columns[i] + " != " + vals[i]; break; case "GreaterThan": filterCondition += columns[i] + " > " + vals[i]; break; case "LessThan": filterCondition += columns[i] + " < " + vals[i]; break; //case "GreaterThanOrEqualTo": // filterCondition += Columns[i] + " >= " + Vals[i]; // break; //case "LessThanOrEqualTo": // filterCondition += Columns[i] + " <= " + Vals[i]; // break; //case "Between": // break; //case "NotBetween": // break; case "IsEmpty": filterCondition += columns[i] + " = ''"; break; case "NotIsEmpty": filterCondition += columns[i] + " != ''"; break; case "IsNull": filterCondition += columns[i] + " is null "; break; case "NotIsNull": filterCondition += columns[i] + " is not null"; break; default: break; } //filterCondition added like clause and next filter is not null //appand " collate SQL_Latin1_General_Cp1_CS_AS and " if ((funcs[i] == "Contains" || funcs[i] == "DoesNotContain" || funcs[i] == "StartsWith" || funcs[i] == "EndsWith") &&(i < upper - 1 && funcs[i + 1] != null && filterCondition != String.Empty && funcs[i + 1] != String.Empty && funcs[i + 1] != "NoFilter")) filterCondition += " collate SQL_Latin1_General_Cp1_CS_AS and "; //filterCondition added non-like clause and next filter is not null //appand " and " else if(i < upper - 1 && funcs[i + 1] != null && filterCondition != String.Empty && funcs[i + 1] != String.Empty && funcs[i + 1] != "NoFilter") filterCondition += " and "; } } //only filterCondition not empty and has % in the last clause that need appand collate SQL_Latin1_General_Cp1_CS_AS if (filterCondition != String.Empty && filterCondition.LastIndexOf('%')>filterCondition.Length-3) filterCondition += " collate SQL_Latin1_General_Cp1_CS_AS "; return filterCondition; } #endregion
- GRIDVIEW的筛选逻辑
- 自动筛选的逻辑(1)-筛选按钮
- 自动筛选的逻辑(2)-自助
- 自动筛选的逻辑(3)-实现隐藏
- 自动筛选的逻辑(5)-配合“定位”功能
- 自动筛选的逻辑(7)-与数据透视表的筛选不同
- 自动筛选的逻辑(8)-透视表筛选的应用
- SearchView 和listview 或gridview的联动筛选
- GridView多条件筛选数据
- 为GridView,DataList,Repeater中显示的字段加入逻辑
- 自动筛选的逻辑(4)-对可见数据的处理
- 自动筛选的逻辑(6)-对可见单元“写”数据
- 关于在GridView模版里添加DropDownList实现根据下拉列表的不同选择gridview根据条件筛选显示。
- Yii2.0在GridView中下拉过滤筛选的实现 [ 2.0 版本 ]
- ASP.NET学习笔记[12] - Gridview里的下拉框筛选效果
- DevExpress.XtraTreeList.TreeList筛选DevExpress.XtraGrid.Views.Grid.GridView筛选
- checkbox选项 结合 gridview 筛选数据
- GridView表格抬头列值复选筛选
- 工厂方法在Ext扩展中的运用
- 程序数久,感悟水深,陆续更新中...
- ★★☆ Visual Studio 2008 每日小窍门 【持续发布中~】 Tips:080
- Lua 与 dotnet 交互
- gcc编译器使用简明指南
- GRIDVIEW的筛选逻辑
- 生存
- 加速Linux程序编译
- 解决SecureCRT中文显示乱码和全屏无法显示菜单的问题
- Tomcat快速配置
- sql server 锁概述
- 后台管理设置
- constructor and destructor
- dp专辑 E - Tri Tiling [递推]