比如数据库有25条记录
设置DataGrid.PageSize=10
分页后为3页
前两页都是10行
到第三页时DataGrid变成了5行,而且行的高度也发生了变化
怎么样能够在当页记录条数不足10条的时候也让DataGrid也显示10行(后5行为空)?

解决方案 »

  1.   

    可以在与之绑定的datatable数据源中稍加处理记录总数 除以 每页条数 取 余数若 这个余数大于零,则给datatable增加(每页条数-余数)条空记录
      

  2.   

    public void NewsDatagrid_ItemDataBound(object sender,DataGridItemEventArgs e)
      {
       if(e.Item.ItemType!=ListItemType.Header) 
       {
         e.Item.Cells[3].Text+="</td></tr>";//假设4列
         e.Item.Cells[3].Text+="<tr>";
         for(int i=0;i<5;i++)
         {
         e.Item.Cells[3].Text+="<td></td>";//增加6行
         }
        }
    }
      

  3.   

    我把webwait(webwei)写的代码改成了vb.net:         If (e.Item.ItemType <> ListItemType.Header) Then            e.Item.Cells(3).Text += "</td></tr>" '//假设4列
                e.Item.Cells(3).Text += "<tr>"            Dim i As Integer
                For i = 0 To 5
                    e.Item.Cells(3).Text = e.Item.Cells(3).Text + "<td></td>" '//增加6行
                Next i        End If
    使用之后好像没有作用啊?
    是我写的有问题么?
    另外e.Item.ItemType <> ListItemType.Header判断的是什么?
    Cells[3]?为什么是3呢?
      

  4.   

    两种办法:1,高度变化了是因为你自己预设了DataGrid的Height属性,不要这么做,你只要设置RowHeight就可以了,否则行数不够他会自动拉大行距,奇臭无比2,如果你实在想添加空白行,只能在绑定之前在数据源里面添加
      

  5.   

    刚刚试了一下
    果然是sweet12345(幸福的狗狗)说的原因
    把DataGrid的Height属性去掉后行距就不变了
    这样的效果也可以不过还是想问一下
    RowHeight在哪里?什么时候设置?
    DataGrid好像没有这个属性?!
    另外怎么在数据源比如DataTable里面添加空白行啊?