我有一个GridView,它的Header中有不同宽度的不同单元格。我想获得每个单元格的特定大小,因为我有一个从左到右的滚动条。 我现在所拥有的是以下内容:
我想要的是拥有如下内容:
表的风格是:
<style type="text/css">
.fixedColumn .fixedTable td
{
color: #FFFFFF;
background-color: #5097d1;
font-size: 14px;
font-weight: normal;
}
.fixedHead td, .fixedFoot td
{
color: #FFFFFF;
/*background-color: #5097d1;*/
font-size: 14px;
font-weight: normal;
padding: 5px;
border: 1px solid #187BAF;
width: 600px;
}
.fixedTable td
{
font-size: 10pt;
background-color: #FFFFFF;
padding: 5px;
/*text-align: left;*/
border: 1px solid #CEE7FF;
}
</style>
编辑: 我使用了以下代码:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if ((e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType == DataControlRowType.DataRow))
{
foreach (TableCell c in e.Row.Cells){
c.Wrap=true;
c.Width = Unit.Percentage(100);
}
}
}
标题稍有变化,我不知道为什么如下所示:
答案 0 :(得分:1)
更好的选择是使用gridview的皮肤文件,它可以帮助你。请点击此处了解更多详情http://msdn.microsoft.com/en-us/library/aa479342.aspx
答案 1 :(得分:0)
您可以使用Gridview RowDataBound方法指定每个单元格的宽度。
protected void gridview_RowDataBound(object sender, GridViewRowEventArgs)
{
if ((e.Row.RowType == DataControlRowType.Header) || (e.Row.RowType == DataControlRowType.DataRow))
{
e.Row.Cells[yourCellIndex].Wrap=true;
e.Row.Cells[yourCellIndex].Width = Unit.Percentage(% value);
}
}
如果使用Unit.Percentage()方法,则确保所有单元格的总宽度应等于100%。
http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.gridview.rowdatabound.aspx