GridView中如何设置每个单元格内规定显示多少个文字?

2024-12-20 10:30:40
推荐回答(3个)
回答1:

没有分给吗?

算了,还是帮帮你吧!

三种方法可以实现,前两种是C#代码实现(原理一样),第三种是CSS实现。
1.cs代码中:GridView的RowDataBound中对想做处理的项做Remove()字符串截取。
2.aspx页面中:GridView的数据项模板标签对中对其控件内显示文本的相应属性做Eval绑定,同样以SubString为最终截取显示文本。
如:


12?Eval("Description").ToString().Remove(10)+"...":Eval("Description").ToString() %>'>


3.CSS方式:此方式需要对GridView的每一列进行Width设定才可实现。
CSS样式如下:
.content
{
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; /*以省略号替代截除部分*/
}
使用时,将该CSS样式赋予要截取字符串的列上即可。如:


' ToolTip='<%#Eval("Description").ToString() %>'>





三种方法的优缺点:
1.优点:灵活变通,无需要设定单元格宽度,代码集中管理;缺点:由于是后台代码方式实现,故修改后,DLL类库需要编译,对于维护而言较为不便。
2.优点:同1,缺点:同1,同时代码相对1较分散,不便管理。
3.优点:CSS方式实现,运用简单,使用方便。缺点:需要设定每一列的宽度。

三种方法各有利弊,需适不同情况选择最佳方案。

回答2:

SQL语查询时返回结果集中去截取数据。

回答3:

在GridView的RowDataBound中 去截取字符串 SubString()