怎样给datagrid控件加一个自动增加的序号列?
当datagrid控件与数据源绑定后,怎样在给他加一个自动增加并排序的序号列?
请诸大侠给出详细程序,谢谢!

解决方案 »

  1.   

    <asp:templatecolumn ... >
       <itemtemplate>
         <%# Container.ItemIndex + 1%>
       </itemtemplate>
    </asp:templatecolumn>
    //或
    DataColumn workColumn = workTable.Columns.Add("ID", typeof(Int32));
    workColumn.AutoIncrement = true;
    workColumn.AutoIncrementSeed = 1;
    workColumn.AutoIncrementStep = 1;.............
    DataGrid1.DataSource=workTable;
    DataGrid1.DataBind();//第三种:
    //在page 类中方一个
    private int RowCount =0;
    //在datagrid的ItemDataBound里边这样放:
    if(e.Item.ItemType == ListItemType.Header)
    {
    RowCount =0;
    }
    else if(e.Item.ItemType == ListItemType.Item ||e.Item.ItemType == ListItemType.AlternateItem)
    {
    RowCount ++;
    e.Item.Cells[0].Text= RowCount.Tostring();
    }
    else if(e.Item.ItemType == ListItemType.Footer)
    {
    e.item.Cells[0].Text = "共"+ RowCount.ToString();
    }//第四种:
    private void DataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
    {
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
            int num = e.Item.ItemIndex + 1;
            e.Item.Cells[0].Text = num.ToString();
        }
    }
      

  2.   

    把它放在datagrid的列的列表中的第一个
      

  3.   

    现在序号列已经插入了,可是初始化时序号列的内容都是null,不知道为什么,怎样解决?谢谢!
      

  4.   

    初始化的时候肯定是null,在数据DataBind()后才计算并填充数值
    你要是在绑定前用序号的话直接e.Item.ItemIndex