gridview行高问题
当设定了gridview的属性值height设为一定值的时候,同时数据量比较少,例如只有1行的时候,gridview的行的高度就变得难以控制,即使设置RowStyle-Height也是不起作用的。
为了解决这个问题,我们可以在gridview DataBind以后,通过动态添加的方法,控制行高。代码如下:
protected void imgSearch_Click(object sender, EventArgs e)
{
GridParameter objGridParameter = new GridParameter();
DataTable positionDt = objPositionBL.GetPositionList(objGridParameter, txtPositionName.Text, hidDepartmentID.Value, ddlSalaryType.SelectedValue, ddlStatus.SelectedValue);
GridRowCount.Value = positionDt.Rows.Count.ToString();
SGItem.DataSource = positionDt;
SGItem.DataBind();
FixBlank();
}
private void FixBlank()
{
if (SGItem.Rows.Count < 10)
{
Control table = SGItem.Controls[0];
for (int i = 0; i < 10 - SGItem.Rows.Count; i++)
{
int rowindex = SGItem.Rows.Count + i + 1;
GridViewRow row = new GridViewRow(rowindex, -1, DataControlRowType.Separator, DataControlRowState.Normal);
row.CssClass = (rowindex % 2 == 0) ? "alternate" : "item";
for (int j = 0; j < SGItem.Columns.Count; j++)
{
if (j != 0 && j != 6 && j != 7)
{
TableCell cell = new TableCell();
cell.Text = " ";
row.Controls.Add(cell);
}
}
table.Controls.AddAt(rowindex, row);
}
}
}
PS:希望可以帮到各位吧。