怎么在GridView中限制显示字数

三种方法可以实现,前两种是C#代码实现(原理一样),第三种是CSS实现。
1.cs代码中:GridView的RowDataBound中对想做处理的项做Remove()字符串截取。
2.aspx页面中:GridView的<ItemTemplate>数据项模板标签对中对其控件内显示文本的相应属性做Eval绑定,同样以SubString为最终截取显示文本。
如:
<asp:TemplateField HeaderText="描述">
<ItemTemplate>
<asp:Label ID="lbl" runat="server" Text='<%#Eval("Description").ToString() >12?Eval("Description").ToString().Remove(10)+"...":Eval("Description").ToString() %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
3.CSS方式:此方式需要对GridView的每一列进行Width设定才可实现。
CSS样式如下:
.content
{
width: 100%;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis; /*以省略号替代截除部分*/
}
使用时,将该CSS样式赋予要截取字符串的列上即可。如:
<asp:TemplateField HeaderText="原因">
<ItemTemplate>
<asp:Label ID="lblDescription" runat="server" Text='<%#Eval("Description") %>' ToolTip='<%#Eval("Description").ToString() %>'></asp:Label>
</ItemTemplate>
<HeaderStyle Width="750px" Wrap="false" />
<ItemStyle Wrap="false" HorizontalAlign="Left" CssClass="content" />
</asp:TemplateField>

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

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值