就是要用DataGrid显示一列,这列显示记录号,如:第一条显示1,第二 条显示2,不管你删除了哪条,他还是有顺序的下来1,2,3,4。如果你删除了2,他还是1,2,3。
不想在数据库做文章,就在前台完成,行吗?

解决方案 »

  1.   

    在绑定的事件里面作就是e.Item.cell[0].text = DG.items.count然后显示的就是1,2,3,4,5。注意:只能是第一页,第二页的话,要再加处理。
      

  2.   

    在DataGrid中添加一个模板列,模板列中添加一个Label,然后在DataGrid的itemdatabound中给这个Label绑定数字
      

  3.   

    把这段代码放在ItemCreate事件里面,然后写以下代码:
    int i;//定义变量
    switch(e.Item.ItemType)
    {
    case ListItemType.Alternation:
    case ListItemType.Item:
    Label lbl=(Label)e.Item.FindControl("LbNum");//LbNum是模板中Label的ID号
    lbl.Text=Convert.toString(i);
    i++
    break;
    }
      

  4.   

    private void AddOrderID(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    //如果当前项不为空
    if(e.Item.ItemIndex != -1 )
    {
    //取得当前项的索引值加1,因为项的索引值是从0开始的.
    int orderID = e.Item.ItemIndex+1;
    //设置第一列为的单元格内容为当前项索引值加1
    e.Item.Cells[0].Text = orderID.ToString();
    }
    }
      

  5.   

    这个你加在前台aspx的DataGrid里就可以
    <HeaderTemplate>
    序号
    </HeaderTemplate>
    <ItemTemplate>
    <%# Container.DataSetIndex + 1 %>
    </ItemTemplate>
    </asp:TemplateColumn>
      

  6.   

    <asp:TemplateColumn>
    <ItemStyle Wrap="False"></ItemStyle>
    <HeaderTemplate>
    序号
    </HeaderTemplate>
    <ItemTemplate>
    <%# Container.DataSetIndex + 1 %>
    </ItemTemplate>
    </asp:TemplateColumn>