我要在这里加以个序号  head1 head2 head3
        1                1    2      3
        2                1    2      3
        3                1    2      3
        4                1    2      3
        5                1    2      3如何实现?

解决方案 »

  1.   

    <asp:templatecolumn ... >
       <itemtemplate>
         <%# Container.ItemIndex + 1%>
       </itemtemplate>
    </asp:templatecolumn>
      

  2.   

    //第二种:
    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();
        }
    }
      

  3.   

    上面的兄弟,那样不可以,因为他的数据库没有行号这个字段,所以datagrid控件没法指定keyfield这个字段,所以itemindex值没法直接获得.建议:
    也可以先在数据库中,加字段行号,,然后用datagrid绑定,在用下面的模板
    <asp:templatecolumn ... >
       <itemtemplate>
         td align="left"><a href="#" onclick='<%# DataBinder.Eval(container.dataitem,"id","javascript:window.open(""reply.aspx?id={0}"",""_blank"",""width=420 , height=510"");")%>'><font color="#3300FF"><%#container.dataitem("title")%></a></font></td>
       </itemtemplate>
    </asp:templatecolumn>
      

  4.   

    You're welcome!
    And I have two stars now!
      

  5.   

    to itflying(it学习者):
      Container.ItemIndex is not a field in a database. It's only the index of the line. So you can use it even if you doesn't get data from a database.
      

  6.   

    to itflying(it学习者):
       听到你这么说我感到很抱歉。楼主的这个问题已经不是新问题了,但我自己就回答过n个类似的问题,因此答案早就总结出来了,我所需要做的只是找一下我以前的帖子,然后copy / paste,速度当然比你快了。
      

  7.   

    我说的是
    e.item.index,这个可以得到这行关键字的值....
      

  8.   

    没看出来……
    你给的代码中用到e.Item.Index了吗?
    你为什么说“那样不可以,因为他的数据库没有行号这个字段,所以datagrid控件没法指定keyfield这个字段,所以itemindex值没法直接获得”?