none
DataGrid1.VirtualItemCount = (int)recordCount;这句话换成用在GridView里应该怎么表示? RRS feed

  • 问题

  • 最近在改变习惯抛弃DataGrid改用GridView,发现有一个问题不知道该怎么办

    在DataGrid中的代码是这样的

    protected void DataListDataBind()
     {
      DataSet ds = GetPageData((uint)DataGrid1.PageSize, (uint)DataGrid1.CurrentPageIndex);
      DataGrid1.VirtualItemCount = (int)recordCount; 
      DataGrid1.DataSource = ds.Tables["Table1"];
      this.DataGrid1.DataBind();
     }
    

    改成GridView后是这样

    protected void GridViewBind()
     {
      DataSet ds = GetPageData((uint)GridView1.PageSize, (uint)GridView1.PageIndex);
      //GridView1.VirtualItemCount = (int)recordCount;
      GridView1.DataSource = ds.Tables["Table1"];
      this.GridView1.DataBind();
     }


    其中第二句不知道该怎么写,GridView1里没有VirtualItemCount
    在DataGrid的代码里,我试过把这句话注释掉,结果原本的页码只显示一个1
    在GridView里,我现在的页面也只显示第一页的内容,不显示页码,连1也不显示,不知道是不是因为这句话不加所以才导致下面的页码出不来。

    2009年12月9日 8:38

答案

  • 你这个数据行 不够造成的 每页十行 需要11行以上才显示的

    我有38行记录,在另一个功能一样的用DataGrid做的页面中能看出来。我只是想把DataGrid改成GridView 而已

    datagrid 和gridview内置机制不同  你把dataset对象 全部行给gridview就可以了
    = GetPageData((uint)GridView1.PageSize, (uint)GridView1.PageIndex);这样不需要计算行
    • 已标记为答案 bobwang 2009年12月10日 3:31
    2009年12月9日 9:50

全部回复

  • 等同于PageCount*PageSize
    2009年12月9日 8:51
  • 我是想问,怎么把这句话写出来。
    因为原来用DataGrid写的代码都在,是现成的。GridView1后面不能加VirtualItemCount,肯定有另外一种表示方法
    我比较菜,希望能给些具体的代码。
    2009年12月9日 8:55
  • 没有! 你只要开启gridview分页功能 就是了
    2009年12月9日 9:01
  • <asp:GridView ID="GridView1" runat="server" Width="100%" CellPadding="5" CellSpacing="1"
    ForeColor="Black" BorderWidth="1px" BorderColor="Tan" BackColor="LightGoldenrodYellow"
    AutoGenerateColumns="False" AllowPaging="True" OnRowCancelingEdit="GridView1_RowCancelingEdit"
    OnRowEditing="GridView1_RowEditing" OnRowUpdating="GridView1_RowUpdating" OnRowDeleting="GridView1_RowDeleting"
    DataKeyNames="ArtworkPicName,aid" OnPageIndexChanging="GridView1_PageIndexChanging"
    DataMember="aid" GridLines="None" PageSize="10">
    这是我的GridView 前台代码,还需要加什么东西嘛?
    2009年12月9日 9:06
  • 不需要 你没说需求现实什么功能呢
    2009年12月9日 9:11
  • 不需要 你没说需求现实什么功能呢

    我在最上面已经说了,在我现在的修改的这个页面里,现在的页面也只显示第一页的内容,不显示页码,连页面数字1也不显示,不知道是不是因为那句话“DataGrid1.VirtualItemCount = (int)recordCount;”不加所以才导致下面的页码出不来。我不知道怎么加,请帮助我
    2009年12月9日 9:16
  • 你这个数据行 不够造成的 每页十行 需要11行以上才显示的
    2009年12月9日 9:22
  • 你这个数据行 不够造成的 每页十行 需要11行以上才显示的

    我有38行记录,在另一个功能一样的用DataGrid做的页面中能看出来。我只是想把DataGrid改成GridView 而已
    2009年12月9日 9:27
  • 你这个数据行 不够造成的 每页十行 需要11行以上才显示的

    我有38行记录,在另一个功能一样的用DataGrid做的页面中能看出来。我只是想把DataGrid改成GridView 而已

    datagrid 和gridview内置机制不同  你把dataset对象 全部行给gridview就可以了
    = GetPageData((uint)GridView1.PageSize, (uint)GridView1.PageIndex);这样不需要计算行
    • 已标记为答案 bobwang 2009年12月10日 3:31
    2009年12月9日 9:50