asp.net Gridview列宽固定?
我在gridview中自动绑定一张多列的表!但由于表中的数据有长有短使得gridview的列名有的横向显示有的纵向显示!看着很不爽!!有什么办法可以让自动生成的列名都横向...
我在gridview中自动绑定一张多列的表!但由于表中的数据有长有短使得gridview的列名有的横向显示有的纵向显示!看着很不爽!!有什么办法可以让自动生成的列名都横向显示(固定列宽),无论表中的数据是长还是短!补充:我在网上查了一些方法都不管用! this.GridView1.HeaderStyle.Width = 100;不管用!!使用GridView1.Columns[0].HeaderStyle.Width = Unit.Parse("100");显示下标越界!我用断点跟踪发现gridview1.columns.count始终为零!我不要手动绑定列!!因为我的列数是可变的!!!请高手指点!!!!!
展开
3个回答
2013-08-24
展开全部
因为你是AutoGenerateColumns所以Columns.count都是0你可以用以下代码实现你想要的.columns为0但是cells不为0你可以把第一个ROW的所有cells都设成你想要的宽度。因为没个cell都是td所以其他的都会跟着设成你想要的宽度 public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{ var persons = new List<Person>
{
new Person
{
Name = "赵本山",
Address =
"Very very long address Very very long address Very very long address"
},
new Person
{
Name = "郭德纲",
Address = "Short address"
},
};
grid.DataSource = persons;
if (!IsPostBack)
{
grid.DataBind();
} if (grid.Rows != null && grid.Rows.Count > 0)
{
if (grid.Rows[0].Cells != null && grid.Rows[0].Cells.Count > 0)
{
for (int i = 0; i < grid.Rows[0].Cells.Count; i++)
{
grid.Rows[0].Cells[i].Width = Unit.Pixel(100);
}
}
} } } public class Person
{
public string Name { get; set; }
public string Address { get; set; }
}
{
protected void Page_Load(object sender, EventArgs e)
{ var persons = new List<Person>
{
new Person
{
Name = "赵本山",
Address =
"Very very long address Very very long address Very very long address"
},
new Person
{
Name = "郭德纲",
Address = "Short address"
},
};
grid.DataSource = persons;
if (!IsPostBack)
{
grid.DataBind();
} if (grid.Rows != null && grid.Rows.Count > 0)
{
if (grid.Rows[0].Cells != null && grid.Rows[0].Cells.Count > 0)
{
for (int i = 0; i < grid.Rows[0].Cells.Count; i++)
{
grid.Rows[0].Cells[i].Width = Unit.Pixel(100);
}
}
} } } public class Person
{
public string Name { get; set; }
public string Address { get; set; }
}
2013-08-24
展开全部
在GridView里面加一句CssClass="testGridView"然后在css文件里面加一句
.testGridView td
{
width: 100px;
}
.testGridView td
{
width: 100px;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
在编辑列里面,直接就有设置列宽度的!如果你不想单元格的内容把单元格撑大,那么就加一个样式
table{table-layout:fixed}
,意思就是每列都固定为最初设置的样式,不再变化,超出的部分隐藏
table{table-layout:fixed}
,意思就是每列都固定为最初设置的样式,不再变化,超出的部分隐藏
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询