使用jquery在gridview中进行数据过滤

时间:2011-07-07 09:58:53

标签: jquery

我已经在gridview中完成了数据过滤,就像

一样

http://tomcoote.co.uk/wp-content/CodeBank/Demos/columnFilters/demo.html
 在本页面。但我的要求与它有所不同。我有一个gridview外面的文本框我想根据这个过滤数据。请尽快帮助我。

提前致谢。

3 个答案:

答案 0 :(得分:3)

我自己写了以下函数,你只需要发送你要过滤的列索引,以及你要过滤的文本框的ID。

不要忘记将gridview /表名更改为您的

function filter(columnIndex, id) {
        var filterText = $("#" + id).val().toLowerCase();

        var cellText = "";
        var cellTextSampleToCompare = "";

        $("#<%=YOUR_GRIDVIEW_NAME.ClientID%> tr:has(td)").each(function () {
            cellText = $(this).find("td:eq(" + columnIndex + ")").text().toLowerCase();
            cellText = $.trim(cellText);    //removes the spaces in the starting of the string value if exist
            cellTextSampleToCompare = cellText.substring(0, filterText.length);

            if (filterText != cellTextSampleToCompare) {
                $(this).css('display', 'none');
            }
            else {
                $(this).css('display', '');
            }
        });
    }

答案 1 :(得分:1)

如果你正在使用jQuery,那么考虑一下优秀的jQuery DataTables插件,它在一个简单的TABLE元素上运行得非常好:http://www.datatables.net/

答案 2 :(得分:0)

这可能不是你问题的答案,但它可能会帮助那些来到这里的人。

 $(document).ready(function () {
            $("#txtID").keyup(function () {
                _this = this;
                $.each($("#grdEmployee tbody").find("tr:has(td)"), function () {
                    if ($(this).text().toLowerCase().indexOf($(_this).val().toLowerCase()) != -1)
                        $(this).show();
                    else
                    $(this).hide();

                });
            });
        });