偶的方式是把截取功能放到CS文件中去写,看到网上有的人把功能代码写到HTML中,总觉得有些别扭。而且还比较罗嗦,体现不出.NET中代码分离的概念。
好咯,废话不多说,看我的方法:
首先偶在CS文件中写入代码:定义MySubString();方法
//截取字符串
protected string MySubString(string Msub)
{
if(Msub.Length>4)
{
return Msub.Substring(0,4);
}
return Msub;
}
{
if(Msub.Length>4)
{
return Msub.Substring(0,4);
}
return Msub;
}
然后在设计界面右键DataGrid选择属性生成器。
将需要截取字符串的列转换成模板列:
![点击在新窗口中浏览此图片 点击在新窗口中浏览此图片](http://www.tanyablog.cn/attachment/1165389124_0.jpg)
然后切换到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")%>'
最后显示效果如下图:
![点击在新窗口中浏览此图片 点击在新窗口中浏览此图片](http://www.tanyablog.cn/attachment/1165393583_0.jpg)