数据网格上的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后网格没有正确生成回发后网格看起来是什么样子?第一行显示为空,并且没有生成过滤器