CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

一个关于如何在DataGrid中添加自动编号的功能 的问题,高分相赠,高手请进,在线等.........................

楼主wangfeng666()2005-08-01 19:24:36 在 .NET技术 / ASP.NET 提问

哪位能帮我把“在DataGrid中添加自动编号的功能”的代码整为代码不分离的吗,我不喜欢这种形式的由VS自动生成的东西。  
   
  我把它改成代码前置后,由于没有写#region   Web   窗体设计器生成的代码  
  override   protected   void   OnInit(EventArgs   e)  
  {  
  //  
  //   CODEGEN:   该调用是   ASP.NET   Web   窗体设计器所必需的。  
  //  
  InitializeComponent();  
  base.OnInit(e);  
  }  
   
  ///   <summary>  
  ///   设计器支持所需的方法   -   不要使用代码编辑器修改  
  ///   此方法的内容。  
  ///   </summary>  
  private   void   InitializeComponent()  
  {          
  this.dgAddOrderID.ItemDataBound   +=   new   System.Web.UI.WebControls.DataGridItemEventHandler(this.AddOrderID);  
   
  }  
  这一段,所以一直不能正常显示。这一段是什么意思,改成代码前置时应该怎么改这一段?  
  小弟急等!!!  
  谢谢大家!  
  原代码我放到我的网站上了:  
  http://www.jeweldia.com/示例112.rar  
  请大家帮忙!谢了  
  问题点数:20、回复次数:8Top

1 楼superch0054(竹君子)回复于 2005-08-01 19:44:47 得分 6

<%#   Container.ItemIndex   +   1%>Top

2 楼ChengKing((.net: http://blog.csdn.net/ChengKing ))回复于 2005-08-01 19:57:26 得分 4

///   <summary>  
  ///   增加排名字段  
  ///   </summary>  
  ///   <param   name="ds"></param>  
  ///   <returns></returns>  
  private   DataSet   DealDataSet(DataSet   ds)  
  {  
  DataTable   dt   =   ds.Tables[0];  
  DataColumnCollection   columns   =   dt.Columns;  
   
  columns.Add("TopID",typeof(System.Int32));  
   
  for(int   i=0;i<ds.Tables[0].Rows.Count;i++)  
  {  
  ds.Tables[0].Rows[i]["TopID"]   =   i+1;  
  }  
  return   ds;  
  }  
  Top

3 楼adandelion(水源是CSDN最黑的地方,但这个最黑是CSDN一手制造的!)回复于 2005-08-01 20:32:25 得分 0

搞分,楼主给的分说好高啊Top

4 楼justin_chang(加油吧!)回复于 2005-08-01 20:48:16 得分 4

簡單一點的:  
   
   
  <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>Top

5 楼justin_chang(加油吧!)回复于 2005-08-01 20:49:13 得分 0

邦定数据后就ok了Top

6 楼justin_chang(加油吧!)回复于 2005-08-01 20:49:52 得分 0

结贴时要给分哦Top

7 楼qiao198(乔本)回复于 2005-08-01 20:58:39 得分 6

private   void   DataGrid_ItemDataBound(object   sender,   System.Web.UI.WebControls.DataGridItemEventArgs   e)  
  {  
  if   (e.Item.ItemIndex   !=-1)  
  {  
  e.Item.Cells[0].Text   =(e.Item.ItemIndex   +1).ToString();  
  }  
  }Top

8 楼wangfeng666()回复于 2005-08-02 10:16:38 得分 0

我把几种方法综合一下:  
  <%@   Page   Language="C#"   %>  
  <%@   Import   Namespace="System.Data"   %>  
  <%@   Import   Namespace="System.Data.SqlClient"   %>  
   
  <script   runat="server">  
   
          protected   void   Page_Load(object   sender,   EventArgs   e)  
          {  
                  if   (!IsPostBack)  
                          bindgrid();  
          }  
   
           
          void   bindgrid()  
          {  
                  string   strConn   =   ConfigurationSettings.AppSettings["ConnectionSqlServer"].ToString();  
                  string   strSql   =   "select   *   from   employees";  
                  SqlConnection   conn   =   new   SqlConnection(strConn);  
                  SqlDataAdapter   ad   =   new   SqlDataAdapter(strSql,   strConn);  
                  DataSet   ds   =   new   DataSet();  
                  try  
                  {  
                          ad.Fill(ds,   "Mytable");  
                          MyGrid.DataSource   =   ds.Tables["Mytable"].DefaultView;  
                          MyGrid.DataBind();  
                  }  
                  catch   (Exception   error)  
                  {  
                          Response.Write(error.ToString());  
                  }  
                   
          }  
   
          protected   void   MyGrid_ItemDataBound(object   sender,   DataGridItemEventArgs   e)  
          {  
                  if   (e.Item.ItemIndex   !=   -1)  
                                 
                            e.Item.Cells[0].Text   =   (e.Item.ItemIndex   +   1).ToString();  
                   
          }  
  </script>  
   
  <html   xmlns="http://www.w3.org/1999/xhtml"   >  
  <head   runat="server">  
          <title>Untitled   Page</title>  
  </head>  
  <body>  
          <form   id="form1"   runat="server">  
          <div>  
          <asp:DataGrid   runat=server   ID=MyGrid   AutoGenerateColumns=false   OnItemDataBound="MyGrid_ItemDataBound">  
          <Columns>  
          <asp:BoundColumn   HeaderText="序号(方法一)"></asp:BoundColumn>  
           
          <asp:TemplateColumn   HeaderText="序号(方法二)">  
          <ItemTemplate   >  
            <%#   Container.ItemIndex   +   1%>  
                  </ItemTemplate>  
          </asp:TemplateColumn>  
           
          <asp:BoundColumn   DataField="LastName"   HeaderText="名"></asp:BoundColumn>  
          </Columns>  
          </asp:DataGrid>  
          </div>  
          </form>  
  </body>  
  </html>  
  Top

相关问题

  • 用datagrid控件添加自动编号的功能出现问题
  • 怎么实现,自动添加表格行数的功能?
  • datagrid中有没有自动添加一行的?
  • datagrid问题 想在datagrid实现自动计算功能
  • datagrid控件与ADO的问题。添加了数据,不能自动刷新
  • dataGrid如何在ReadOnly为False的情况下不自动添加一行?
  • 如何在readonly=false的情况下不让datagrid自动添加一行?
  • 怎样能够在DataGrid中添加一个自动产生的序号列?
  • 如何在自动绑定的DataGrid中添加超链接列?如何控制?
  • 一个关于在datagrid中自动添加新行的问题,急!!!

关键词

得分解答快速导航

  • 帖主:wangfeng666
  • superch0054
  • ChengKing
  • justin_chang
  • qiao198

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo