• 给datalist加自动编号(解决博客的第XX楼)


    前些天想怎样给datalist加自动编号,考察了一下分页的原理,写了这个:

    在编辑模版(HTML)中加入列 <%# (num-1)*32+Container.ItemIndex + 1%>即可.

    说明:
    num 是 当前页码值,(自己定义)
    *32 是要乘以分页的行数,(如:每页32行)
    ItemIndex 是行索引
    + 1 是因为索引值从0开始的

    例如:

    <ItemTemplate>
    <td>
    <%# (num-1)*30+Container.ItemIndex + 1%>
    </td>
    <td>
    <%# DataBinder.Eval(Container.DataItem, "EmergencyContactName") %>
    </td>
    </ItemTemplate>

    另外还有一种:

    <%# this.DataList1.CurrentPageIndex * this.DataList1.PageSize + Container.ItemIndex + 1%>


    ----------------------------------------------------------------------------------------------------------------------

    给Repeater、Datalist和Datagrid增加自动编号列

    号 内容 1 Taye 2 BOx 3 Glass 4 StarCraft
    一、正序
    A、AllowPaging=False情况下,使用以下方法就可以实现:


    B、AllowPaging="True"下,如果DataGrid支持分页则可以如下:

    1<asp:DataGrid id="DataGrid1" runat="server">
    2     <Columns>
    3      <asp:TemplateColumn>
    4       <ItemTemplate>
    5        <%# Container.ItemIndex + 1%>
    6       </ItemTemplate>
    7      </asp:TemplateColumn>
    8     </Columns>
    9 </asp:DataGrid>


    不过更有趣的方法是使用这个方法:

    1<asp:DataGrid id="DataGrid1" runat="server">
    2     <Columns>
    3      <asp:TemplateColumn>
    4       <ItemTemplate>
    5        <%# this.DataGrid1.Items.Count + 1%>
    6       </ItemTemplate>
    7      </asp:TemplateColumn>
    8     </Columns>
    9</asp:DataGrid>


    也许有些人会觉得很奇怪为什么Items.Count会这样,而不是出来全部总合,但如果你了解绑定的过程时就容易理解。[从上面来看就是在ItemCreated事件中进行绑定所以得到的Items.Count刚好是当前的序号]

    1<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
    2     <Columns>
    3      <asp:TemplateColumn>
    4       <ItemTemplate>
    5        <%# this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize + Container.ItemIndex + 1%>
    6       </ItemTemplate>
    7      </asp:TemplateColumn>
    8     </Columns>
    9</asp:DataGrid>


    二、倒序的方法

    序号 内容 4 Taye 3 BOx 2 Glass 1 StarCraft
    由上面可以知道使用this.DataGrid1.Items.Count - Container.ItemIndex + 1方法是不可能实现的,得到值而且全会为1,分页的情况下更是一样.所以一开始我们就要取得数据源的行数:

    1private int rowscount = 0;
    2          protected int RowsCount
    3          {
    4               get{ return rowscount;}
    5               set{ this.rowscount = value; }
    6          }
    7     
    8          private void Page_Load(object sender, System.EventArgs e)
    9          {
    10               // 在此处放置用户代码以初始化页面
    11               if(!IsPostBack)
    12                    this.BindData();
    13          }
    14          private void BindData()
    15          {
    16               SqlConnection cn = new SqlConnection("server=(local);database=NorthWind;uid=sa;pwd=");
    17               string str=@"SELECT Employees.EmployeeID, Orders.EmployeeID
    18                                  FROM Employees INNER JOIN
    19                        Orders ON Employees.EmployeeID = Orders.EmployeeID ";
    20               SqlDataAdapter sqlda = new SqlDataAdapter(str,cn);
    21               DataSet ds = new DataSet();
    22               sqlda.Fill(ds);
    23               this.RowsCount = ds.Tables[0].Rows.Count;
    24               this.DataGrid1.DataSource = ds;
    25               this.DataGrid1.DataBind();
    26}

    1<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
    2                             <Columns>
    3                                    <asp:TemplateColumn>
    4                                           <ItemTemplate>
    5                                                  <%# RowsCount - DataGrid1.CurrentPageIndex * DataGrid1.PageSize - Container.ItemIndex %>
    6                                           </ItemTemplate>
    7                                    </asp:TemplateColumn>
    8                             </Columns>
    9                      </asp:DataGrid>

  • 相关阅读:
    PythonStudy——数据类型总结 Data type summary
    PythonStudy——可变与不可变 Variable and immutable
    PythonStudy——列表操作 List operatio
    PythonStudy——列表的常用操作 List of common operations
    PythonStudy——列表类型 List type
    PythonStudy——字符串扩展方法 String extension method
    PythonStudy——字符串重要方法 String important method
    AWT,Swing,RCP 开发
    JQuery插件机制
    最新知识网站
  • 原文地址:https://www.cnblogs.com/rongxiaoya/p/2656770.html
Copyright © 2020-2023  润新知