永发信息网

asp.net Gridview列宽固定?

答案:2  悬赏:10  手机版
解决时间 2021-04-11 18:07

我在gridview中自动绑定一张多列的表!但由于表中的数据有长有短使得gridview的列名有的横向显示有的纵向显示!看着很不爽!!有什么办法可以让自动生成的列名都横向显示(固定列宽),无论表中的数据是长还是短!

补充:我在网上查了一些方法都不管用! this.GridView1.HeaderStyle.Width = 100;不管用!!使用GridView1.Columns[0].HeaderStyle.Width = Unit.Parse("100");

显示下标越界!我用断点跟踪发现gridview1.columns.count始终为零!我不要手动绑定列!!因为我的列数是可变的!!!

请高手指点!!!!!

最佳答案

因为你是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; }
}

全部回答

在GridView里面加一句CssClass="testGridView"

然后在css文件里面加一句

.testGridView td { width: 100px; }

我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
因为爱所以珍惜?那不爱呢?玩呢?
Ipad2升级到ios9.1后,游戏都不能玩了,进去
wow1-300锻造冲点路线
童趣优优地址有知道的么?有点事想过去
到点(-1,-2)的距离等于3的动点M的轨迹方程是
保险返佣金是什么意思,个人佣金收入交什么税
今年的流星雨在什么时候出现?
最终幻想 一共有几部 电影 看了一部 降临之子
过期的豆腐卤有什么用途
单选题在人民网的显著位置,设置了“地方领导
城南西苑南门在哪里啊,我有事要去这个地方
rado手表
什么是负数?
上海有明星吗
杀马特辉煌岁月的歌曲连接
推荐资讯
笔记本用充电器插着玩或者电池玩哪个比较好?
现在允许生第二胎了吗?
忘记移动卡号怎样交费?
随着科学的发展现代人拥有了些什么,失去了些
填入下面横线处的句子,排列恰当的一项是我家
关于游戏剧情策划的格式
求GBA洛克人6两个版本
福记饼店地址有知道的么?有点事想过去
保时捷卡宴要月工资多少钱才能买
上海长宁区新华路2号鸿发苑,怎么走?
襄阳为什么不能用公积金贷款购房
关于声音的特征,下列说法正确的是A.音调高的
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?