GridView控件在使用分页时,如果绑定的数据不满一页,那么GridView 仅显示绑定的数据。例如,将GridView的 PageSize 设置为 10,每页显示 10 条数据,如果当前查询仅返回了 6 条数据,那么GridView就显示这 6 条数 据;如果当前查询返回了多于 10 条数据,那么GridView则显示 10 条数据后分页。GridView的显示区域随着绑定的数据条数的变化而变化,页面显示较为杂乱。为了使用GridView控件时,不管绑定的数据条数是多是少,都能始终显示相同的行 数,也就是说,当GridView的绑定数据条数不满一页时,通过以下代码在 GridView中自动添加空行,使GridView能够始终显示 PageSize 设置的行数。 具体代码如下:
protected void GridView1_DataBound(object sender, EventArgs e)
{
int rowCnt = GridView1.VisibleRowCount; //这个属性
int pageSize = GridView1.SettingsPager.PageSize;
if (rowCnt != 0 && rowCnt != pageSize)
{
DataTable dt = (DataTable)GridView1.DataSource;
if (table != null)
{
for (int i = 0; i < pageSize - rowCnt; i++)
{
int rowIndex = rowCnt + i + 1;
DataRow row = dt.NewRow(); //这个方法
for (int j = 0; j < GridView1.Columns.Count; j++)
{
row[j] = "";
}
dt.Rows.Add(row); //增加一行
}
}
}
GridView.DataSource=dt;
GridView.DataBind();
}