在GridView中截取一定长度的方法--收藏

方法1、你写一个方法,到页面上:
StrLength 这个方法就是处理字符串的,写到cs文件中。
protected string StrLength (string str)
{
if (str.Length > 10)
{
return str.Substring(0, 10) + "...";
}
else
{
return str;
}

}
GridView 中用模板列
<asp:TemplateField>
<ItemTemplate>
<%# StrLength(DataBinder.Eval(Container.DataItem,"title").ToString())%>
</ItemTemplate>
</asp:TemplateField>
方法2、 用css。

方法3、在数据库里面直接栽掉...
select case when len(field)> 10 then left(field,10)+'...' else field end as news_name,news_id from tablename
方法4、 在RowDataBound方法中:
如果是BoundField,则:
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
if (e.Row.Cells[2].Text.Length > 10)
{
e.Row.Cells[2].Text = e.Row.Cells[2].Text.Substring(0, 10) + "...";
}
else
{
e.Row.Cells[2].Text=e.Row.Cells[2].Text
}
}
}
如果是TemplateField,则:
方法5、 如果是 TemplateField 列,可以直接帮定时操作
<asp:TemplateField HeaderText="Hehe">
<ItemTemplate>
<asp:Label runat="server" Text= <%#Eval("job_id").ToString().Substring(0,10)+"..."%> >
</asp:Label>
</ItemTemplate>
</asp:TemplateField>

protected void GridView1_RowDataBound ( object sender, GridViewRowEventArgs e )
{
if ( e.Row.RowType == DataControlRowType.DataRow )
{
if ( ( ( Label ) e.Row.Cells [    2   ].FindControl ( "Hehe" ) ).Text   .Length >    10 )
{
( ( Label ) e.Row.Cells [   2   ].FindControl ( "Hehe" ) ).Text = ( ( Label ) e.Row.Cells [    2   ].FindControl ( "Hehe" ) ).Text.Substring ( 0, 10 ) + "...";
}

转载于:https://www.cnblogs.com/chenmfly/archive/2010/04/11/1709512.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值