`

关于DataGrid等控件中的自动编号

ASP 
阅读更多
作者:未知   请作者速与本人联系

序号<!----><o:p></o:p>

内容<o:p></o:p>

1<o:p></o:p>

Taye<o:p></o:p>

2<o:p></o:p>

BOx<o:p></o:p>

3<o:p></o:p>

Glass<o:p></o:p>

4<o:p></o:p>

StarCraft<o:p></o:p>


一、正序<o:p></o:p>

AAllowPaging=False情况下

<o:p></o:p>

<asp:DataGrid id="DataGrid1" runat="server">
    <Columns>
     <asp:TemplateColumn>
      <ItemTemplate>
       <%# Container.ItemIndex + 1%>
      </ItemTemplate>
     </asp:TemplateColumn>
    </Columns>
 </asp:DataGrid><o:p></o:p>


就可以实现

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

<o:p></o:p>

 <asp:DataGrid id="DataGrid1" runat="server">
    <Columns>
     <asp:TemplateColumn>
      <ItemTemplate>
       <%# this.DataGrid1.Items.Count + 1%>
      </ItemTemplate>
     </asp:TemplateColumn>
    </Columns>
 </asp:DataGrid><o:p></o:p>

<o:p> </o:p>

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

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

<o:p></o:p>

<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True">
    <Columns>
     <asp:TemplateColumn>
      <ItemTemplate>
       <%# this.DataGrid1.CurrentPageIndex * this.DataGrid1.PageSize + Container.ItemIndex + 1%>
      </ItemTemplate>
     </asp:TemplateColumn>
    </Columns>
</asp:DataGrid><o:p></o:p>

<o:p> </o:p>

二、倒序的方法 <o:p></o:p>

序号<o:p></o:p>

内容<o:p></o:p>

4<o:p></o:p>

Taye<o:p></o:p>

3<o:p></o:p>

BOx<o:p></o:p>

2<o:p></o:p>

Glass<o:p></o:p>

1<o:p></o:p>

StarCraft<o:p></o:p>

由上面可以知道使用
this.DataGrid1.Items.Count -
Container.ItemIndex + 1方法是不可能实现的,得到值而且全会为1
分页的情况下更是一样.所以一开始我们就要取得数据源的行数 <o:p></o:p>

.cs<o:p></o:p>

             private int rowscount = 0;<o:p></o:p>

         protected int RowsCount<o:p></o:p>

         {<o:p></o:p>

              get{ return rowscount;}<o:p></o:p>

              set{ this.rowscount = value; }<o:p></o:p>

         }<o:p></o:p>

     <o:p></o:p>

         private void Page_Load(object sender, System.EventArgs e)<o:p></o:p>

         {<o:p></o:p>

              // 在此处放置用户代码以初始化页面<o:p></o:p>

              if(!IsPostBack)<o:p></o:p>

                   this.BindData();<o:p></o:p>

         }<o:p></o:p>

<o:p> </o:p>

         private void BindData()<o:p></o:p>

         {<o:p></o:p>

              SqlConnection cn = new SqlConnection("server=(local);database=NorthWind;uid=sa;pwd=");<o:p></o:p>

              string str=@"SELECT Employees.EmployeeID, Orders.EmployeeID<o:p></o:p>

                                 FROM Employees INNER JOIN<o:p></o:p>

                       Orders ON Employees.EmployeeID = Orders.EmployeeID ";<o:p></o:p>

<o:p> </o:p>

              SqlDataAdapter sqlda = new SqlDataAdapter(str,cn);<o:p></o:p>

              DataSet ds = new DataSet();<o:p></o:p>

<o:p> </o:p>

              sqlda.Fill(ds);<o:p></o:p>

<o:p> </o:p>

              this.RowsCount = ds.Tables[0].Rows.Count;<o:p></o:p>

<o:p> </o:p>

              this.DataGrid1.DataSource = ds;<o:p></o:p>

              this.DataGrid1.DataBind();<o:p></o:p>

<o:p> </o:p>

         }<o:p></o:p>



<o:p></o:p>

.aspx<o:p></o:p>

<asp:DataGrid id="DataGrid1" runat="server" AllowPaging="True"><o:p></o:p>

                            <Columns><o:p></o:p>

                                   <asp:TemplateColumn><o:p></o:p>

                                          <ItemTemplate><o:p></o:p>

                                                 <%# RowsCount - DataGrid1.CurrentPageIndex * DataGrid1.PageSize - Container.ItemIndex %><o:p></o:p>

                                          </ItemTemplate><o:p></o:p>

                                   </asp:TemplateColumn><o:p></o:p>

                            </Columns><o:p></o:p>

                     </asp:DataGrid><o:p></o:p>

<o:p> </o:p>

<o:p> 当然如果是不是分页的情况一下更容易实现了.</o:p>

分享到:
评论

相关推荐

    在DataGrid控件中添加自定义编号列

    以下就是关于如何在DataGrid控件中添加自定义编号列的详细知识。 1. **自定义编号列的意义** - 自定义编号列可以帮助用户更好地理解和跟踪数据,特别是在大量数据中。 - 可以根据业务逻辑设置编号,比如按照日期...

    ASP_NET中DataGrid控件的使用技巧.pdf

    本文将详细介绍如何在ASP.NET中使用DataGrid控件实现数据排序、自动编号、产生合计项以及数据导出为Excel文件格式等功能。 #### 数据排序功能 在DataGrid中实现数据排序,主要是通过设置`DataSource`属性和利用`...

    ASP.NET中DataGrid控件的使用技巧

    本文将深入探讨如何利用DataGrid控件实现数据排序、自动编号、生成合计项以及将数据导出为Excel文件格式等实用技巧。 首先,数据排序是DataGrid控件的基础功能之一。用户可以通过点击列头来对数据进行升序或降序...

    DataGrid中嵌套使用Repeater.doc

    在ASP.NET中,DataGrid控件常用于展示结构化的数据,而Repeater控件则更加灵活,适合自定义布局。本篇文章重点讨论如何在DataGrid内部嵌套使用Repeater控件,以展示分层次的数据。这种技术同样适用于其他列表绑定...

    easyui帮助手册datagrid

    其 Datagrid 组件是一个功能丰富的表格控件,常用于展示和操作大量结构化的数据。在本篇文章中,我们将深入探讨 EasyUI Datagrid 的主要配置选项及其用途。 1. **columns**:这是 Datagrid 最基本的配置,它是一个...

    asp.net程序中最常用的三十三种编程

    主要内容:asp.net程序中最常用的三十三种编程代码,使用 Visual Studio 2005 Team System进行单元测试,ASP.NET中常用的优化性能方法,关于DataGrid控件中的自动编号。

    asp.net专家疑难解答200问源码

    112.如何在DataGrid中添加自动编号的功能 113.如何控制DataGrid绑定列绑定的数据类型为日期的显示格式 114.如何把DataGrid中某一列的统计值显示在页脚中 115.如何在DataGrid中让不同条件的行显示不同的背景颜色 ...

    asp.net专家疑难解答200问

    如何在DataGrid中添加自动编号的功能 113.如何控制DataGrid绑定列绑定的数据类型为日期的显示格式 114.如何把DataGrid中某一列的统计值显示在页脚中 115.如何在DataGrid中让不同条件的行显示不同的背景...

    wpf将表中数据显示到datagrid示例

    在Windows Presentation Foundation (WPF) 中,`DataGrid` 是一个强大的控件,常用于显示和编辑表格数据。本示例将详细介绍如何将数据库中的数据加载到 `DataGrid` 中,便于用户查看和操作。 首先,我们需要在XAML...

    PictureBox控件应用方案

    - **描述:** 返回或设置一个值,确定在拖放操作中所用的是手动还是自动拖动方式。 - **应用场景:** 控制 PictureBox 在拖放操作中的行为模式。 10. **Enabled** - **描述:** 返回或设置一个值,该值用来确定...

    asp.net基础教程

    最后,我们将DataTable绑定到DataGrid控件,DataGrid自动渲染出列表形式的数据。 总之,数据绑定是ASP.NET中非常重要的一个概念,它允许开发者方便地将后端数据源与前端界面控件关联,实现了数据的动态显示和交互。...

    用VC++制作一个教职工管理系统及代码

    在VC++中,DataGrid控件可以绑定到ADODC控件,从而动态地展示数据库中的数据表,并支持用户进行数据操作。 5. **对话框切换**: 在教职工管理系统中,对话框切换指的是在不同的用户界面之间进行导航。这可能涉及到...

    ASP.NET数据绑定之GridView控件

    ASP.NET中的GridView控件是用于在Web页面上展示数据源中的数据的一种常见方式,它继承了DataGrid控件的功能,并且在.NET Framework 2.0之后成为主流选择。GridView不仅能够展示数据,还提供了丰富的编辑、排序、分页...

    VB+SQL图书管理系统课程实习报告.doc

    - **连接数据库**:使用 ADO 对象模型中的 `adodc` 控件实现数据库连接。 - **界面设计**:使用 `command` 控件、`label` 控件和 `textbox` 控件构建界面,并添加 `datagrid` 控件显示数据。 - **数据绑定**:设置 `...

    学籍管理系统_数据库课程设计.pdf

    - 使用Microsoft Visual Basic 6.0作为前端开发工具,配合Microsoft SQL Server 2000作为数据库后台,通过ADO控件和DataGrid控件实现数据的链接、展示和交互。 7. 数据库链接: - ADO控件用于连接数据库和前端...

    案例二__用VC++制作一个教职工管理系统

    3. **ADODC控件与DataGrid控件**:ADODC(ActiveX Data Objects Data Control)控件是一种用于连接和操作数据库的强大工具,而DataGrid控件则用于在界面上以表格形式展示数据。它们共同为数据的可视化和动态操作提供...

    asp.net基础知识

    7. **自动编号(AutoNumber)**:在Access数据库中,自动编号是一种特殊的数据类型,用于自动生成唯一的整数,常作为主键使用。 **简答题解答**: 1. **静态页面与动态网页**:静态网页由HTML等静态文件构成,...

Global site tag (gtag.js) - Google Analytics