zoukankan      html  css  js  c++  java
  • 一个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);
                }
           }

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

    点这里下载

  • 相关阅读:
    9.27作业
    9.20作业
    9.13作业
    9.6作业
    localstorage,sessionstorage使用
    oracle 客户端重新安装遇到的问题
    HTML5学习笔记(<command>,<details>,<dialog>)
    HTML5学习笔记(HTML5新标签<bdi>)
    html5学习笔记(html5新标签<aside>)
    html5学习笔记(html5新标签<article>)
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1950703.html
Copyright © 2011-2022 走看看