怎么办啊,,谢谢高手教一下

解决方案 »

  1.   

    id   name     place
    1    a        s
    2    sd       d
    3    f        c
    4    e        h就是要这样的效果啊?以前ID总是连数据库。现在是想它不连数据库也可以这样
      

  2.   

    我觉得可以通过SQL语句实现或通过GridView的OnRowCreated来实现
      

  3.   

    你可以在绑定的同时
                    for (int i = 0; i < GridView.Rows.Count; i++)
                    {
                        GridView.Rows[i].Cells[0].Text = Convert.ToString(i + 1);
                    }
      

  4.   

    增加一个模版列
    <asp:TemplateField HeaderText="序号">
          <ItemTemplate>
               <%# this.GridView1.PageIndex * this.GridView1.PageSize + GridView1.Rows.Count+ 1 %>
           </ItemTemplate>
    </asp:TemplateField>
      

  5.   

    加入一绑定列,在ItemDataBound事件中写:
     if(e.Item.ItemIndex != -1)
    {
    e.Item.Cells[0].Text = Convert.ToString(e.Item.ItemIndex+1);
    }
      

  6.   

    添加一个模板列在该模板列加入Label控件,写入下面事件
    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
                Label myLabel = (Label)e.Row.Cells[0].FindControl("myLabel");
                myLabel.Text = Convert.ToString(e.Row.RowIndex + 1);
            }
        }
    也可以不加入Label,直接赋值e.Row.Cells[0].Text
      

  7.   

    <asp:TemplateField HeaderText="序号">
          <ItemTemplate>
               <span><%# Container.DataItem.ItemIndex+1 %><span>
           </ItemTemplate>
    </asp:TemplateField>
      

  8.   

    我一般用ObjectDataSource做数据源,要什么样的效果,你就写什么样的实体类了
      

  9.   


    <asp:TemplateField HeaderText="序号">
          <ItemTemplate>
               <%# this.GridView1.PageIndex * this.GridView1.PageSize + GridView1.Rows.Count+ 1 %>
           </ItemTemplate>
    </asp:TemplateField>
      

  10.   

    if(e.Item.ItemIndex != -1)
    {
       e.Item.Cells[0].Text = Convert.ToString(e.Item.ItemIndex+1);
    }
    这种方法比较简单,注意要在数据绑定时