数据网格上的C#Jquery过滤

数据网格上的C#Jquery过滤,c#,jquery,asp.net,datagrid,C#,Jquery,Asp.net,Datagrid,我以编程方式生成了dataGrid列标题作为过滤器,并尝试使用jQuery过滤客户端。 我不明白为什么我的过滤器不能正常工作,当我点击dataGrid(我需要返回帖子)时,网格中的第一行“消失” 服务器端: protected void GridTest_DataBound(object sender, EventArgs e) { GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControl

我以编程方式生成了
dataGrid
列标题作为过滤器,并尝试使用
jQuery
过滤客户端。 我不明白为什么我的过滤器不能正常工作,当我点击dataGrid(我需要返回帖子)时,网格中的第一行“消失”

服务器端:

protected void GridTest_DataBound(object sender, EventArgs e)
{
    GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
    for (int i = 0; i < GridTest.Columns.Count; i++)
    {
        TableHeaderCell cell = new TableHeaderCell();
        TextBox txtSearch = new TextBox();
        txtSearch.Attributes["placeholder"] = GridTest.Columns[i].HeaderText;
        txtSearch.CssClass = "search_textbox";
        txtSearch.ForeColor = System.Drawing.Color.Black;
        cell.Controls.Add(txtSearch);
        row.Controls.Add(cell);
    }
    GridTest.HeaderRow.Parent.Controls.AddAt(1, row);
}
<script type="text/javascript">
        $(function () {
            $('.search_textbox').each(function (i) {
                $(this).quicksearch("[id*=GridTest] tr:not(:has(th))", {
                    'testQuery': function (query, txt, row) {
                        return $(row).children(":eq(" + i + ")").text().toLowerCase().indexOf(query[0].toLowerCase()) != -1;
                    }
                });
            });
        });
</script>
                <div class="row" style="padding-top: 6px">
                    <div class="col-md-12" id="boxGrid">
                        <asp:GridView ID="GridTest" runat="server" AutoGenerateColumns="False" CssClass="mGridNoAlign" PagerStyle-CssClass="pgr"
                            AlternatingRowStyle-CssClass="alt" EmptyDataText="empty" ShowHeaderWhenEmpty="true"
                            OnSorting="GridTest_Sorting" DataKeyNames="Nome, Cognome, Cellulare"  OnSelectedIndexChanged="GridTest_OnSelectedIndexChanged" OnRowDataBound="GridTest_RowDataBound" OnDataBound="GridTest_DataBound" AllowSorting="true" HeaderStyle-BackColor="#3AC0F2" Font-Names="Arial" Font-Size="11pt">
                            <Columns>
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Cognome" HeaderText="Cognome" ReadOnly="true" SortExpression="Cognome" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Nome" HeaderText="Nome" ReadOnly="True" SortExpression="Nome" HeaderStyle-CssClass="alignRight" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Fonte" HeaderText="Fonte" ReadOnly="true" SortExpression="Fonte" HeaderStyle-CssClass="alignRight" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Stato" HeaderText="Stato" ReadOnly="true" SortExpression="Stato" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Consulente" HeaderText="Consulente" ReadOnly="true" SortExpression="Consulente" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Omaggio" HeaderText="Omaggio" ReadOnly="true" SortExpression="Omaggio" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Cellulare" HeaderText="Cellulare" ReadOnly="true" SortExpression="Cellulare" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="DataAppuntamento" HeaderText="Data Appuntamento" ReadOnly="true" SortExpression="DataAppuntamento" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:TemplateField Visible="false">
                                    <ItemTemplate>
                                        <asp:Label ID="lblIdS" runat="server" Text='<%# Eval("IdS")%>'> </asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField Visible="false">
                                    <ItemTemplate>
                                        <asp:Label ID="lblIdM" runat="server" Text='<%# Eval("IdM")%>'> </asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
                    </div>
                </div>
受保护的void GridTest_数据绑定(对象发送方,事件参数e)
{
GridViewRow行=新的GridViewRow(0,0,DataControlRowType.Header,DataControlRowState.Normal);
for(int i=0;i
jQuery:

protected void GridTest_DataBound(object sender, EventArgs e)
{
    GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
    for (int i = 0; i < GridTest.Columns.Count; i++)
    {
        TableHeaderCell cell = new TableHeaderCell();
        TextBox txtSearch = new TextBox();
        txtSearch.Attributes["placeholder"] = GridTest.Columns[i].HeaderText;
        txtSearch.CssClass = "search_textbox";
        txtSearch.ForeColor = System.Drawing.Color.Black;
        cell.Controls.Add(txtSearch);
        row.Controls.Add(cell);
    }
    GridTest.HeaderRow.Parent.Controls.AddAt(1, row);
}
<script type="text/javascript">
        $(function () {
            $('.search_textbox').each(function (i) {
                $(this).quicksearch("[id*=GridTest] tr:not(:has(th))", {
                    'testQuery': function (query, txt, row) {
                        return $(row).children(":eq(" + i + ")").text().toLowerCase().indexOf(query[0].toLowerCase()) != -1;
                    }
                });
            });
        });
</script>
                <div class="row" style="padding-top: 6px">
                    <div class="col-md-12" id="boxGrid">
                        <asp:GridView ID="GridTest" runat="server" AutoGenerateColumns="False" CssClass="mGridNoAlign" PagerStyle-CssClass="pgr"
                            AlternatingRowStyle-CssClass="alt" EmptyDataText="empty" ShowHeaderWhenEmpty="true"
                            OnSorting="GridTest_Sorting" DataKeyNames="Nome, Cognome, Cellulare"  OnSelectedIndexChanged="GridTest_OnSelectedIndexChanged" OnRowDataBound="GridTest_RowDataBound" OnDataBound="GridTest_DataBound" AllowSorting="true" HeaderStyle-BackColor="#3AC0F2" Font-Names="Arial" Font-Size="11pt">
                            <Columns>
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Cognome" HeaderText="Cognome" ReadOnly="true" SortExpression="Cognome" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Nome" HeaderText="Nome" ReadOnly="True" SortExpression="Nome" HeaderStyle-CssClass="alignRight" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Fonte" HeaderText="Fonte" ReadOnly="true" SortExpression="Fonte" HeaderStyle-CssClass="alignRight" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Stato" HeaderText="Stato" ReadOnly="true" SortExpression="Stato" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Consulente" HeaderText="Consulente" ReadOnly="true" SortExpression="Consulente" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Omaggio" HeaderText="Omaggio" ReadOnly="true" SortExpression="Omaggio" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Cellulare" HeaderText="Cellulare" ReadOnly="true" SortExpression="Cellulare" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="DataAppuntamento" HeaderText="Data Appuntamento" ReadOnly="true" SortExpression="DataAppuntamento" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:TemplateField Visible="false">
                                    <ItemTemplate>
                                        <asp:Label ID="lblIdS" runat="server" Text='<%# Eval("IdS")%>'> </asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField Visible="false">
                                    <ItemTemplate>
                                        <asp:Label ID="lblIdM" runat="server" Text='<%# Eval("IdM")%>'> </asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
                    </div>
                </div>

$(函数(){
$('.search_textbox')。每个(函数(i){
$(this).quicksearch(“[id*=GridTest]tr:not(:has(th))”{
“testQuery”:函数(查询、文本、行){
返回$(行).children(“:eq(“+i+”)).text().toLowerCase().indexOf(查询[0].toLowerCase())!=-1;
}
});
});
});
HTML:

protected void GridTest_DataBound(object sender, EventArgs e)
{
    GridViewRow row = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);
    for (int i = 0; i < GridTest.Columns.Count; i++)
    {
        TableHeaderCell cell = new TableHeaderCell();
        TextBox txtSearch = new TextBox();
        txtSearch.Attributes["placeholder"] = GridTest.Columns[i].HeaderText;
        txtSearch.CssClass = "search_textbox";
        txtSearch.ForeColor = System.Drawing.Color.Black;
        cell.Controls.Add(txtSearch);
        row.Controls.Add(cell);
    }
    GridTest.HeaderRow.Parent.Controls.AddAt(1, row);
}
<script type="text/javascript">
        $(function () {
            $('.search_textbox').each(function (i) {
                $(this).quicksearch("[id*=GridTest] tr:not(:has(th))", {
                    'testQuery': function (query, txt, row) {
                        return $(row).children(":eq(" + i + ")").text().toLowerCase().indexOf(query[0].toLowerCase()) != -1;
                    }
                });
            });
        });
</script>
                <div class="row" style="padding-top: 6px">
                    <div class="col-md-12" id="boxGrid">
                        <asp:GridView ID="GridTest" runat="server" AutoGenerateColumns="False" CssClass="mGridNoAlign" PagerStyle-CssClass="pgr"
                            AlternatingRowStyle-CssClass="alt" EmptyDataText="empty" ShowHeaderWhenEmpty="true"
                            OnSorting="GridTest_Sorting" DataKeyNames="Nome, Cognome, Cellulare"  OnSelectedIndexChanged="GridTest_OnSelectedIndexChanged" OnRowDataBound="GridTest_RowDataBound" OnDataBound="GridTest_DataBound" AllowSorting="true" HeaderStyle-BackColor="#3AC0F2" Font-Names="Arial" Font-Size="11pt">
                            <Columns>
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Cognome" HeaderText="Cognome" ReadOnly="true" SortExpression="Cognome" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Nome" HeaderText="Nome" ReadOnly="True" SortExpression="Nome" HeaderStyle-CssClass="alignRight" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Fonte" HeaderText="Fonte" ReadOnly="true" SortExpression="Fonte" HeaderStyle-CssClass="alignRight" ItemStyle-HorizontalAlign="Right" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Stato" HeaderText="Stato" ReadOnly="true" SortExpression="Stato" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Consulente" HeaderText="Consulente" ReadOnly="true" SortExpression="Consulente" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Omaggio" HeaderText="Omaggio" ReadOnly="true" SortExpression="Omaggio" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="Cellulare" HeaderText="Cellulare" ReadOnly="true" SortExpression="Cellulare" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:BoundField HeaderStyle-ForeColor="White" DataField="DataAppuntamento" HeaderText="Data Appuntamento" ReadOnly="true" SortExpression="DataAppuntamento" HeaderStyle-CssClass="center" ItemStyle-HorizontalAlign="Center" />
                                <asp:TemplateField Visible="false">
                                    <ItemTemplate>
                                        <asp:Label ID="lblIdS" runat="server" Text='<%# Eval("IdS")%>'> </asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                                <asp:TemplateField Visible="false">
                                    <ItemTemplate>
                                        <asp:Label ID="lblIdM" runat="server" Text='<%# Eval("IdM")%>'> </asp:Label>
                                    </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                        </asp:GridView>
                    </div>
                </div>


您是否收到任何错误?是否可以发布使用数据网格的页面的html输出?否:(我不明白为什么在psotback后网格没有正确生成回发后网格看起来是什么样子?第一行显示为空,并且没有生成过滤器