介绍:

我正在搜寻一种方法实现在ASP.NET GridView控件包含搜索框。我找不到一个完美的解决方案,决定自己去实现它。这里所以写出我的解决方案。

为什么使用这种方案?

您可以使用此种方案和实施行的表格过滤变得非常容易。搜索和过滤操作可以由公正处理的搜索事件引发。此外,该GridView还可以设置选项以显示行序列号,行的总数,并显示页眉和页脚即使没有行在GridView可用。(默认情况下,页眉和页脚是隐藏,当GridView没有数据行。)

该解决方案

我做了什么

1.我扩展GridView和创建了一个SearchableGridView类。
2.添加了一个TemplateColumn显示行数。

3. 在页脚,添加了控件来处理搜查事件。
4.当开启搜索的时候,,传递搜索字符串给触发的事件。

代码:

1、通过创建了一个SearchableGridView来扩展GridView,实现在Gridview的页脚有一个搜索框.

public class NumberColumn : ITemplate
{
    public void InstantiateIn(Control container)
    {
    }
}

在SearchableGridView类中,我重写的OnInit函数添加模板的第一列显示的行序号,如果ShowRowNumber标记将被打开。

Code

当每一行创建时,该OnRowCreated方法被执行。在此期间时,对创建的行类型的不同,在表尾,我们添加搜索控件和显示行数量label,在表身,添加行数,在表头,该添加列标题。

Code

该SearchableGridView的SearchFilters属性设置的搜索选项的下拉列表的值。它的Text属性对应的显示名称在DropDownList和列表项的值属性是数据源的列名。

public void SetFilter()
{
    _ddlFinder.Items.Clear();
    //Copy the items to the dropdownlist
    foreach (ListItem li in SearchFilters)
        _ddlFinder.Items.Add(li);
}

现在,让我们进入到搜索的事件处理。为此,我创建了一个委托和事件SearchGrid,搜索按钮时被击中。搜索字符串形成使用语法_ddlFinder.SelectedValue + " like '" + _tbSearch.Text.Trim() + "%'".

Code

显示页脚时,当没有返回任何行
GridView的默认属性是隐藏的页眉和页脚时没有行被绑定到它。设置一个空项目模板只可以显示模板而不是页眉或页脚。在我们的情况,页脚,必须始终显示,不论绑定到SearchableGridView行数,因为搜索选项应该是可见的。要做到这一点,我不得不重写CreateChildControls方法如下:

Code

例子:
让我用一个例子帮助说明上面的控件。为此,我使用Northwind数据库中的客户表。

步骤1:创建与选择查询数据源dsCustomers:“SELECT CustomerID, CompanyName, Address, City, Country FROM Customers”。

步骤2:创建一个SearchableGridView实例和设置SearchFilters属性有关于的搜索选择项。

步骤3:添加两个隐藏字段hfSearchText和hfSort分别存储搜索文本和文本的排序。

第4步:用SearchGrid事件来设置SearchableGridView数据源和过滤的搜索字符串。 hfSearchText和hfSort是隐藏的领域持有的搜索字符串和SearchableGridView排序字符串。BindData方法实现绑定的过滤和排序后的数据。

Code

结论
SearchableGridView将是非常有用,当有一个表格中的数据行很大的时候。通过执行搜索没有太多麻烦。

翻译:http://www.codeproject.com/KB/webforms/SearchSortableGridView.aspx

代码:http://www.codeproject.com/KB/webforms/SearchSortableGridView.aspx

小弟第一次翻译文章,错误多多,请多多指出!

本文转自麒麟博客园博客,原文链接:http://www.cnblogs.com/zhuqil/archive/2009/11/18/1605672.html,如需转载请自行联系原作者

ASP.NET GridView中使用搜索框(SearchableGridView)相关推荐

  1. iOS中UISearchBar(搜索框)使用总结

    2019独角兽企业重金招聘Python工程师标准>>> iOS中UISearchBar(搜索框)使用总结 初始化:UISearchBar继承于UIView,我们可以像创建View那样 ...

  2. Android中MaterialSearchView(搜索框)的简单实用

    Android中MaterialSearchView(搜索框)的简单实用 收搜框架有好多,动画效果满炫酷的就是代码太多,没发抽取他的搜索功能,而这个却比较好用些,直接从代码里面抠出来一个简单实现搜索功 ...

  3. 电话中删除搜索框内的语音图标按钮。所有应用菜单上面的搜索框当菜单下拉后会重叠。相机视频拍的设置里面有个EIS,删除这个菜单,默认开启EIS。视频画质默认720p。

    电话中删除搜索框内的语音图标按钮: override/vendor/mediatek/proprietary/packages/apps/Dialer/java/com/android/dialer/ ...

  4. php多个表中查找数据_Excel实战技巧74: 在工作表中创建搜索框来查找数据

    学习Excel技术,关注微信公众号: excelperfect 本文主要讲解如何创建一个外观漂亮的搜索框,通过它可以筛选数据并显示搜索结果. 如下图1所示,在数据区域上方放置有一个文本框,用来输入要搜 ...

  5. 详细解读Android中的搜索框(二)—— Search Dialog

    Search Dialog是提供搜索的控件之一,还有一个是上次小例子给出的searchView,关于SearchView的东西后面会说到.本次先从Search Dialog说起,让大家慢慢理解andr ...

  6. pyqt5中利用搜索框和按钮,搜索表中内容

    之前找了很多关于这方面的资料,但是都不太满意,通过询问和尝试,终于找到了这样的一个方法,希望对你们有用: 先上代码: self.searchLab = QLineEdit(self) self.sea ...

  7. chrome 搜索框记录_访问Google Chrome中的搜索框

    chrome 搜索框记录 Do you miss having a search box in Chrome and would like to get one back? Then join us ...

  8. Win7系统右上角没有搜索怎么办?Win7找回资源管理器中的搜索框

    最近有win7系统用户发现打开资源管理器,文件夹等右上角没有搜索框,这让人十分不方便无法进行搜索,那么如何找回呢?下面小编就分享一下方法给大家.推荐 最好用的Win7系统下载 操作步骤: 1.打开Wi ...

  9. 一行命令解决win10任务栏中的搜索框无法使用的问题

    由于我经常会使用win10搜索框进行定时等操作,最近发现搜索用不了了,通过谷歌得知可能需要重新安装下小娜: 首先按下win+R命令,输入cmd即可进入命令提示符模式,然后输入 start powers ...

最新文章

  1. dhtmlxgrid表格笔记
  2. LogMiner日志分析工具的使用
  3. JQuery轻量级网页编辑器 选中即可编辑
  4. 华为在中国建立其全球最大的网络安全透明中心
  5. 【AI视野·今日CV 计算机视觉论文速览 第211期】Wed, 2 Jun 2021
  6. Eclipse properties.config.yml 配置文件中文编码问题。Eclipse 配置文件插件解决方案
  7. java swing 复选JCheckBox组件美化
  8. 折线图x轴的日期会超出_折线图技巧丨阈限颜色设置
  9. iTunes 12恢复.ipsw固件
  10. 弘辽科技:拼多多类目选错了有什么影响?怎么办?
  11. js日历(包含农历节假日)
  12. 双机热备——上下层交换机负载分担
  13. 【COGS2652】秘术「天文密葬法」(长链剖分,分数规划)
  14. 怎么让鼠标带黄色光圈?
  15. 在linux系统下暴力破解WiFi密码
  16. 使用Termux软件在安卓手机上安装ubuntu
  17. 通过shell脚本自动化量产SD启动卡
  18. yolov5-6.0/6.1加入SE、CBAM、CA注意力机制(理论及代码)
  19. mysql5.7性能提升一百倍调优
  20. 手机智能卡的操作系统——COS技术概述

热门文章

  1. c3p0三种配置方式(automaticTestTable)
  2. 康奈尔大学研究员发现“代码投毒”攻击,可触发供应链攻击
  3. 这两个漏洞暴露 Facebook Group 成员,有个用手机就能发现,获奖$9000
  4. 开源组件XStream 修复11个漏洞并公开 PoC
  5. 模型修饰在无人机航测实景三维模型生产中的应用——以SVSMeshEditor软件为例
  6. vue-router的beforeEach的使用?
  7. ios中数据存储方式
  8. 根据中心点、半径长度和角度画点
  9. Visual C#中用WMI控制远程计算机
  10. unicode和MBCS(多字节字符集)的关系