• 一个Repeater排序用的控件


      在Repeater上的字段排序需要自己来实现,下面这个控件用来为Repeater上的列提供排序功能,可以添加任意多个列,每次只针对一个列进行排序。

    .aspx页代码

     

    如果使用网站形式,那么将.cs文件放在app_Code下,如果是WebApplication则随便扔在那个目录下都可以

    /----------------导入控件(网站方式--动态编译)--------------------/

    <%@ Register  namespace="F.Studio.WebControls" tagprefix="FS" %>

    :也可以在web.config中做个全局配置,这样就不用每个页面引用一次了

    /----------------Repeater 控件部分--------------------------/

        <table style="100%;">
            <tr>
                <td>
                    <asp:LinkButton ID="lnkOrderByClientId"  runat="server">ID</asp:LinkButton>
                    </td>
                <td>
                   <asp:LinkButton ID="lnkOrderByGetTime"  runat="server" >获得时间</asp:LinkButton>   </td>
                <td>
                    <asp:LinkButton ID="lnklastconttime"  runat="server">最后联系时间</asp:LinkButton>  </td>
            </tr>
            <asp:Repeater ID="Repeater1" runat="server">
            <ItemTemplate>
            <tr>
                <td>
                    <%#Eval("Id") %></td>
                <td>
                    <%#Eval("LastGetTime") %></td>
                <td>
                   <%#Eval("LastContctTime") %> </td>
            </tr>
            </ItemTemplate>
            </asp:Repeater>
        </table>

    /----------------------控件配置部分--------------------------/

        <FS:OrderByStateManager ID="OrderBy" runat="server" DefaultOrderBySql="client.[ClientId]" OnChanged="BindDataAfterOrderBy">
        <FS:SortColumn Field="client.[LastContactTime]" LinkButtonId="lnklastconttime" />
        <FS:SortColumn Field="client.[CurrUserGetTime]" LinkButtonId="lnkOrderByGetTime" />
        <FS:SortColumn Field="client.[ClientId]" LinkButtonId="lnkOrderByClientId" />
        </FS:OrderByStateManager>

    控件属性与方法:

    1.Field-排序字段(可能为空)

    2.IsAsc-排序方向

    3.ToString()方法返回排序TSQL语句(如:client.[ClientId] Asc),当Field为空时,返回DefaultOrderBySql指定的语句

    排序状态改变时会触发,OnChange事件指定的处理函数,通常的处理是进行一次数据绑定, 参考下面代码:

            /// <summary>
            /// 排序后重新绑订数据
            /// </summary>
            protected void BindDataAfterOrderBy(OrderByStateManager orderby)
            {
                try
                {
                    BindData();
                }
                catch (Exception ex)
                {
                    JScript.Alert(ex.Message);
                }
           }

    ///===========下载地址==================///

    点这里下载

  • 相关阅读:
    Elasticsearch 在部署时,对 Linux 的设置有哪些优化方 法?
    详细描述一下 Elasticsearch 搜索的过程?
    Memcached 服务特点及工作原理是什么?
    Memcached 服务分布式集群如何实现?
    如何监控 Elasticsearch 集群状态?
    对于 GC 方面,在使用 Elasticsearch 时要注意什么?
    memcached 和 MySQL 的 query ?
    memcached 如何实现冗余机制?
    memcached 能接受的 key 的最大长度是多少?
    memcached 的多线程是什么?如何使用它们?
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1950703.html
Copyright © 2020-2023  润新知