C# 如何过滤Gridview数据
Gridview包含100个客户,每页10个客户,如何按字母顺序过滤 如果用户单击,则列出所有以A开头的客户名称 请帮忙。方法1 ASPX标记:C# 如何过滤Gridview数据,c#,asp.net,validation,gridview,C#,Asp.net,Validation,Gridview,Gridview包含100个客户,每页10个客户,如何按字母顺序过滤 如果用户单击,则列出所有以A开头的客户名称 请帮忙。方法1 ASPX标记: <asp:Repeater ID="rptAlpha" runat="server" OnItemCommand="rptAlpha_ItemCommand"> <ItemTemplate> <asp:LinkButton ID="lbAlpha" runat="server"
<asp:Repeater ID="rptAlpha" runat="server" OnItemCommand="rptAlpha_ItemCommand">
<ItemTemplate>
<asp:LinkButton ID="lbAlpha" runat="server"
CommandArgument='<%# Container.DataItem.ToString() %>'><%#Container.DataItem.ToString() %></asp:LinkButton>
</ItemTemplate>
</asp:Repeater>
<br />
<asp:GridView ID="GridView1" runat="server" DataSourceID="ObjectDataSource1">
</asp:GridView>
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server"
OldValuesParameterFormatString="original_{0}"
OnSelecting="ObjectDataSource1_Selecting" SelectMethod="Load" TypeName="Your.TypeName.Here">
<SelectParameters>
<asp:Parameter Name="Filter" Type="Object" />
</SelectParameters>
</asp:ObjectDataSource>
说明:
使用中继器绑定字母表,并使用该中继器的OnItemCommand获取数据并基于选定的字母表绑定网格视图
方法2
gridview顶部可以有26个按钮+gridview顶部的一个按钮
对于所有26个按钮,您可以使用ButtonApplha_Click等常用方法,并根据sender.tag筛选gridview的数据
e、 在你的按钮里,点击你就可以了
GridView.datasource = GetDataByAplha(Sender.Tag.Tostring());
希望您能理解我想要解释的内容。使用此示例查询
字符串查询=从tbl_名称中选择,其中名称类似“%+dropdownlist.SelectedValue+” 如果使用的是SqlDataSource,则可以在SelectCommand中指定参数,例如
SelectCommand="SELECT * FROM [Genre] WHERE [Name] LIKE @FirstLetter+'%'"
您必须在中添加参数,例如
<SelectParameters>
<asp:Parameter Name="FirstLetter" Type="String" />
</SelectParameters>
中提到了更快的jQuery方法
字母必须位于%符号之前,如dropdownlist.SelectedValue+'%',而不是相反。
<SelectParameters>
<asp:Parameter Name="FirstLetter" Type="String" />
</SelectParameters>
SqlDataSource1.SelectParameters["FirstLetter"].DefaultValue = filterletter;
$(document).ready(function() {
$('#<%=lblNoRecords.ClientID%>').css('display','none');
$('.links').click(function(e)
{
$('#<%=lblNoRecords.ClientID%>').css('display','none');
var lnkText = $(this).text().toLowerCase();
var iCounter = 0;
$("#<%=gdRows.ClientID%> tr:has(td)").each(function() {
var cell = $(this).find("td:eq(1)").text().toLowerCase();
if(lnkText != 'all')
{
if(cell.indexOf(lnkText) != 0)
{
$(this).css('display','none');
}
else
{
$(this).css('display','');
iCounter++;
}
}
else
{
$(this).css('display','');
iCounter++;
}
});
if(iCounter == 0)
{
$('#<%=lblNoRecords.ClientID%>').css('display','');
}
e.preventDefault();
});
});