ASP.NET中Grid的字符串截取简便写法

最近在练习ASP.NET中,需要使用在DataGrid中进行字符串的截取,因为在此Grid中大约有近14个字段,如果使用表来限制Grid的宽度的话,会造成每行数据高度不同,此时只有想办法在DataGrid中使用字符串的截取功能,以达到预期的效果。在百度搜索后,发现有的方法虽然有效,但是比较罗嗦,咋办捏,想了一下……..汗,偶咋笨了捏,竟然把SubString这个方法忘掉捏,好咯,这就有办法咯。
  偶的方式是把截取功能放到CS文件中去写,看到网上有的人把功能代码写到HTML中,总觉得有些别扭。而且还比较罗嗦,体现不出.NET中代码分离的概念。
  好咯,废话不多说,看我的方法:
  首先偶在CS文件中写入代码:定义MySubString();方法
//截取字符串
protected string MySubString(string Msub)
 {
   if(Msub.Length>4)
   {
       return Msub.Substring(0,4);
   }
   return Msub;
 }

然后在设计界面右键DataGrid选择属性生成器。
将需要截取字符串的列转换成模板列: 点击在新窗口中浏览此图片
然后切换到HTML编辑页找到转换后的代码列,改写一下代码:
具体代码如下所示:

//DataItem.Abstract:Abstract为数据库字段名
<ItemTemplate>
 <asp:Label runat="server" Text='<%# MySubString(DataBinder.Eval(Container,"DataItem.Abstract").ToString())%>'

ToolTip='<%# DataBinder.Eval(Container,"DataItem.Abstract")%>'>
 </asp:Label>
</ItemTemplate>

记住改的是<asp:Label>中的代码,不是<asp:textBox>中的代码.
//这句是将截取的字符串显示出来
<%# MySubString(DataBinder.Eval(Container,"DataItem.Abstract").ToString())%>'

//这句是显示截取此段字符串后显示所有的字符串(截取前的所有字符串)
ToolTip='<%# DataBinder.Eval(Container,"DataItem.Abstract")%>'

最后显示效果如下图:
点击在新窗口中浏览此图片 

转载于:https://www.cnblogs.com/Fernando/archive/2008/01/15/1040107.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值