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

asp.net中GridView中如何设置每个单元格内的文字不显示完,比如只显示10个字,后边的不用完全显示出来........ asp.net中GridView中如何设置每个单元格内的文字不显示完,比如只显示10个字,后边的不用完全显示出来..... 展开
 我来答
尉迟丶九方
2012-02-02 · TA获得超过148个赞
知道小有建树答主
回答量:158
采纳率:0%
帮助的人:186万
展开全部
没有分给吗?

算了,还是帮帮你吧!

三种方法可以实现,前两种是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方式实现,运用简单,使用方便。缺点:需要设定每一列的宽度。

三种方法各有利弊,需适不同情况选择最佳方案。
IM_FB
2012-02-02 · 超过39用户采纳过TA的回答
知道小有建树答主
回答量:115
采纳率:100%
帮助的人:67.2万
展开全部
SQL语查询时返回结果集中去截取数据。
追问
有代码参考一下么
追答
select substring(字段名称,截取开始长度,截取结束长度) from  表名
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程序员碎碎念
2012-02-02 · 超过27用户采纳过TA的回答
知道答主
回答量:113
采纳率:0%
帮助的人:66万
展开全部
在GridView的RowDataBound中 去截取字符串 SubString()
追问
还是不太清楚,新手哈......
追答
前台写10?Eval("password").ToString().Substring(0,10)+"...":Eval("password").ToString()%>
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式