直接在DataGrid显示吧,用不到在DataTable中构造
private void DataGrid_ItemCreated(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
ListItemType elemType = e.Item.ItemType; if(elemType!= ListItemType.Header && elemType != ListItemType.Footer && elemType != ListItemType.Pager)
{
e.Item.Cells[0].Text = Convert.ToString(DataGrid.CurrentPageIndex*5+e.Item.ItemIndex + 1);
}其实也就是判断类型,直接写CELL的内容,分页时要*每页记录数这样就可以添加流水号了(分页情况下),没问题的

解决方案 »

  1.   

    同意 xulovewei(耗子爱猫咪)
      

  2.   

    在你的DataGrid 加入这一列就可一搞定
    <asp:TemplateColumn>
    <HeaderTemplate>
    序号
    </HeaderTemplate>
    <ItemTemplate>
    <%# Container.DataSetIndex + 1 %>
    </ItemTemplate>
    <ItemStyle Wrap="False" Width="3%"></ItemStyle>
    </asp:TemplateColumn>
      

  3.   


    直接在datagrid的ItemDataBound事件中来编号可以做到(e.Item.ItemIndex就是行号)
    如果实在要在Datatable中加,那就加一列,然后循环给其付值。
      

  4.   

    e.Item.ItemIndex就是行号
    另外可以看看
    http://dotnet.aspx.cc/ShowDetail.aspx?id=C0B53A2D-EF45-4E07-9C95-2849700F32A8
      

  5.   

    // 在此处放置用户代码以初始化页面
    if (!IsPostBack)
    {
    string  connString =ConfigurationSettings.AppSettings["ConnectionString"];
    SqlConnection myConn = new SqlConnection(connString);
    SqlDataAdapter myAdp = new SqlDataAdapter("select * from Customers",myConn);
    DataSet ds = new DataSet();
    //****方法一*****
    DataTable myTable = ds.Tables.Add("Customers");
    DataColumn myCol = myTable.Columns.Add("RowsID",typeof(Int32));
    myCol.AutoIncrement = true;
    myCol.AutoIncrementSeed = 1;
    myCol.AutoIncrementStep = 1;
    //myCol.AutoIncrementSeed = -1;
    //myCol.AutoIncrementStep = -1;
    myCol.ReadOnly = true;
    //****************

                myAdp.Fill(ds,"Customers");
    myDataGrid.DataSource = ds;
    myDataGrid.DataBind(); }
      

  6.   

    dtOld;//旧DataTable 假设有2列 "OID","Code"DataTable dtNew=new DataTable();
    dtNew.Columns.Add("ItemNo");//序列号列
    dtNew.Columns.Add("OID");
    dtNew.Columns.Add("Code");
    int p=0;
    for(int i=0;i<dtOld.Rows.Count;i++)
    {
    DataRow dr=dtNew.NewRow();
            dr["ItemNo"]=(p++).ToString();
            dr["OID"]=dtOld.Rows[i]["OID"].ToString();
            dr["Code"]=dtOld.Rows[i]["Code"].ToString();
            dtNew.Rows.Add(dr);
    }之后绑定数据就用this.DataGrid1.DataSource=dtNew;
      

  7.   

    公司里的一个程序是在数据表里面加一列用来显示序号的,
    DataColumn dcid=m_dsTotal.Tables["v_ProductionQuery1"].Columns.Add("TotalID",typeof(Int32));
    for(int i=0;i<m_dsTotal.Tables["v_ProductionQuery1"].Rows.Count;i++)
    {
       m_dsTotal.Tables["v_ProductionQuery1"].Rows[i]["TotalID"]=i+1;
    }
      

  8.   

    用到cym40011(萧雨)和 yourname8686() 的方法,谢谢
      

  9.   

    如果只是显示用,可以使用类型化数据集,表中增加一个自增列.从1开始. 
    http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp