• 发布一个扩展Repeater的模板控件,带自动分页功能


    实现功能:

         1.扩展了三个模板,分别为:OperateDataTemplate、PageDataTemplate和EmptyTemplate;

         2.默认模板加载顺序为:

           HeaderTemplate

           ItemTemplate或AlternatingItem

           OperateDataTemplate   //操作项模板,用来设置批量操作等内容;

           PageDataTemplate    //通过Layout.table或Layout.div可以控制此模板是在加载完FooterTemplate后加载还是加载完OperateDataTemplate加载,默认为加载完OperateDataTemplate加载

           EmptyTemplate   //空模板,用于空数据时自动显示此模板内容;

          3.各模板说明

          OperateDataTemplate

          说明:一般用于后台管理时设置的批量操作等内容,可设置服务器控件,cs文件中使用控件ID.FindControl查找该控件;

          示例代码:

         aspx文件:

    <OperateDataTemplate>
    <tr>
    <td class="foottr" align="center"><input id="Checkbox1" type="checkbox" name="chkall" onclick="CheckAll(form1)" /></td>
    <td colspan="2" class="foottr"><asp:DropDownList ID="BatchOperation" runat="server">
    <asp:ListItem Text="请选择" Value=""></asp:ListItem>
    <asp:ListItem Text="批量删除" Value="Del"></asp:ListItem>
    </asp:DropDownList>
    <asp:DropDownList ID="AgentsID" runat="server" style="display:none;">
    </asp:DropDownList>
    <asp:Button ID="Button2" runat="server" Text="执行操作" CssClass="btn" OnClick="Button2_Click" />
    </td>
    </tr>
    </OperateDataTemplate>

         PageDataTemplate

         说明:

         如需使用控件自带的分页功能,需在cs文件中引入using HengCms.WebControl;,然后将PageDataTemplate赋值一个控件中的模板类,此类为实现了Itemplate接口的类。

        MyTemplate pagetemp = new MyTemplate();

        repeaterpage.PageDataTemplate = pagetemp;

        关于MyTemplate 的属性说明:

        Colspan     类型int      说明:设置如果为table布局时,包含分页代码所在行的跨列数

        PageSize    类型int      说明:设置每页数量

        PageLayout    类型:枚举    值:table,div     说明:分页显示时的代码布局,如果设置为div,则分页代码不包含任何的tr\td代码

        CurrentPageIndex    类型int   说明:获取当前页数

        RecordCount    类型int    说明:设置总记录数

        以下属性在查询传递多个自定义参数时用到:

        UrlParmString    类型:string     示例:pagetemp.UrlParmString = "keywords=ss&id=1";

        UrlParm   类型:Dictionary<string, string>     说明:如果传递参数较多时,可使用此属性将参数组成Dictionary进行传递;

        示例:  

            System.Collections.Generic.Dictionary<string, string> urlparm = new System.Collections.Generic.Dictionary<string, string>();
    urlparm.Add(
    "keywords", "ss");
    urlparm.Add(
    "id", "1");
    pagetemp.UrlParm
    = urlparm;

        备注:

        (1)程序自动获取当前页的url,如没有自定义参数,上述两个属性均不用设置; 

        (2)如需遍历控件的每一个itemtemplate,使用下列代码:  

    foreach (RepeaterItem ri in test.ItemsList)
    {
    .......
    //具体执行代码
    }

       上一张效果图:

      

    下载地址:Control.rar

  • 相关阅读:
    [GXOI/GZOI2019] 旧词
    [HDU6756] Finding a MEX
    [洛谷P5110] 块速递推
    [CF739C] Alyona and towers
    1349. 修理牛棚
    L2-028 秀恩爱分得快 (25 分)
    L2-009 抢红包 (25 分)
    L1-043 阅览室 (20 分)
    2020年天梯赛-模拟赛 L1-6 检查密码 (15 分)
    L1-046 整除光棍 (20 分)
  • 原文地址:https://www.cnblogs.com/superfeeling/p/2136330.html
Copyright © 2020-2023  润新知