GridView增加自动序号列

GridView增加自动序号列

第一种方式,直接在Aspx页面GridView模板列中.这种的缺点是到第二页分页时又重新开始了.

  1. <asp:TemplateField HeaderText="序号" InsertVisible="False">
  2.               <ItemStyle HorizontalAlign="Center" />
  3.               <HeaderStyle HorizontalAlign="Center" Width="5%" />
  4.              <ItemTemplate>
  5.               <%#Container.DataItemIndex+1%>
  6.             </ItemTemplate>
  7.             </asp:TemplateField>

第二种方式分页时进行了计算,这样会累计向下加.

  1.   <asp:TemplateField HeaderText="序号" InsertVisible="False">
  2.               <ItemStyle HorizontalAlign="Center" />
  3.               <HeaderStyle HorizontalAlign="Center" Width="5%" />
  4.              <ItemTemplate>
  5.                  <asp:Label ID="Label2" runat="server" Text='<%# this.MyListGridView.PageIndex * this.MyListGridView.PageSize + this.MyListGridView.Rows.Count + 1%>'/>
  6.             </ItemTemplate>
  7.             </asp:TemplateField>

还有一种方式放在cs代码中,和第二种相似.

  1. <asp:BoundField HeaderText="序号" >
  2.               <ItemStyle HorizontalAlign="Center" />
  3.               <HeaderStyle HorizontalAlign="Center" Width="5%" />
  4.           </asp:BoundField>
  5.         protected void myGridView_RowDataBound(object sender, GridViewRowEventArgs e)
  6.         {
  7.             if (e.Row.RowIndex != -1)
  8.             {
  9.                 int indexID = this.myGridView.PageIndex * this.myGridView.PageSize + e.Row.RowIndex + 1;
  10.                  e.Row.Cells[0].Text = indexID.ToString();
  11.              }
  12.          }
  13. 我自己的实现方法:
  14. <yyc:SmartGridView ID="GridView1" runat="server" AutoGenerateColumns="False" AllowSorting="True"
                            Width="100%" DataSourceID="ObjectDataSource1" AllowPaging="True" PageSize="10" ShowHeader="false">
                            <Columns>
                            <asp:TemplateField>
                                <ItemTemplate>
                                <asp:Label ID="lbl_Index" runat="server" Text='<%# this.GridView1.PageIndex * this.GridView1.PageSize + this.GridView1.Rows.Count + 1%>' />
                               <asp:Label ID="PERSON_WORDS" runat="server" Text='<%# Eval("PERSON_WORDS") %>'></asp:Label>
                               </ItemTemplate>
                                </asp:TemplateField>
                            </Columns>
                            <PagerTemplate>
                                <asp:LinkButton ID="btnFirst" runat="server" CausesValidation="False" CommandArgument="First"
                                    CommandName="Page">首页</asp:LinkButton>
                                <asp:LinkButton ID="btnPrev" runat="server" CausesValidation="False" CommandArgument="Prev"
                                    CommandName="Page">上一页</asp:LinkButton>
                                <asp:LinkButton ID="btnNext" runat="server" CausesValidation="False" CommandArgument="Next"
                                    CommandName="Page">下一页</asp:LinkButton>
                                <asp:LinkButton ID="btnLast" runat="server" CausesValidation="False" CommandArgument="Last"
                                    CommandName="Page">尾页</asp:LinkButton><asp:Label ID="lbpage" runat="server" Text='<%#((GridView)Container.Parent.Parent).PageIndex + 1 %>'> </asp:Label>页
                                共<asp:Label ID="lbpagecount" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageCount %>'></asp:Label>页
                                跳到<input id="txtPage" type="text" value='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>'
                                    style="width: 30px; height: 20px" />
                                <%--<asp:TextBox ID="txtPage" runat="server" Text='<%# ((GridView)Container.Parent.Parent).PageIndex + 1 %>'
                                    Width="30px" Height="20px"></asp:TextBox>--%>
                                <input id="btn_Go" type="button" value="GO" onclick="PageSearch();" class="button"
                                    style="height: 25px" />
                            </PagerTemplate>
                            <PagerStyle BackColor="White" ForeColor="#000066" HorizontalAlign="Center" />
                        </yyc:SmartGridView>

    效果图:


posted @ 2012-11-13 10:08  天殇月痕  阅读(290)  评论(0编辑  收藏  举报