Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何过滤Gridview数据_C#_Asp.net_Validation_Gridview - Fatal编程技术网

C# 如何过滤Gridview数据

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"

Gridview包含100个客户,每页10个客户,如何按字母顺序过滤

如果用户单击,则列出所有以A开头的客户名称

请帮忙。

方法1

ASPX标记:

<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();
    });
});