如果你是用的dataset就可以实现,为dataset.tables(0)动态添加列。

解决方案 »

  1.   

    http://dotnet.aspx.cc/
    为datagrid增加自动编号列
      

  2.   

    dim mycolumn as datacolunm=dataset.table("tablename").columns.add("id",gettype(int32))
    mycolumn.authoincresement=true
    这样可以为它增加一个自增值的id
      

  3.   

    我在这篇文章里介绍了如何添加子增长列到DataGrid里面,提供了几种不同的选择。
    http://www.csdn.net/Develop/read_article.asp?id=20887
      

  4.   

    一种方法可以在你得到的DataTable里动态添加一个Column
    int i = 0;
    DataTable dt = ds.Tables["sample"];
    dt.Columns.Add("Index", typeof(int));
    foreach(DataRow dr in dt.Rows)
    {
        dr["Index"] = ++i;
    }
    dg.DataSource = dt.DefaultView;
    dg.DataBind();
    另外用能不能绑定到一个TemplateColumn或是BoundColumn,用ItemIndex属性,这样似乎
    更合理些。
      

  5.   

    主要是:
    Private Sub DataGrid1_ItemDataBound(ByVal sender As Object, _
      ByVal e As System.Web.UI.WebControls.DataGridItemEventArgs) Handles DataGrid1.ItemDataBound
        If e.Item.ItemIndex <> -1 Then
          e.Item.Cells(0).Text = e.Item.ItemIndex + 1
        End If
      End Sub
      

  6.   

    在datagrid中增添一模板列,在其ItemTemplate中放入控件btnSel
    在datagrid的itemdatabound事件中添入
    下面代码
    //计算序号,并在每一行的序号单元格中填入
    int ItemNo = (e.Item.ItemIndex + 1) + (dgdSample.CurrentPageIndex) * (dgdSample.PageSize);

    //跳过页眉和页脚
    if(e.Item.ItemType.ToString() != "Header" && e.Item.ItemType.ToString() != "Footer")
    {
    if( e.Item.Cells[0].FindControl("btnSel") != null )
    {
    ((Button)e.Item.Cells[0].FindControl("btnSel")).Text = ItemNo.ToString();
    }
    }
      

  7.   

    string SQL="select 1 as 序号,...from htqd_a1 a";你首先在sql中加入序号,然后
    SqlConnection objConnection=new SqlConnection(strConnection);
    SqlDataAdapter objAdapter=new SqlDataAdapter(SQL,objConnection);
    DataSet objDataSet=new DataSet();
    objAdapter.Fill(objDataSet,"pj_zhwwzrkbSum");
    DataTable my_datatable=objDataSet.Tables["pj_zhwwzrkbSum"];
    for(int i=0;i<my_datatable.Rows.Count;i++ )
    {
      my_datatable.Rows[i]["序号"] = i+1;  //  分配序号
    }
    DataView my_dataview=new DataView(my_datatable);
    DataGrid1.DataSource=my_dataview;
    DataGrid1.DataBind();