日期:2014-05-18  浏览次数:20449 次

DataGrid的超级链接列的Text如何截取指定字符串?
DataGrid的超级链接列如何通过格式化字符串来截取指定个数的字符串?谢谢各位..

------解决方案--------------------
积分在我的技术社区里查
------解决方案--------------------
超级链接列好像不能截取...
<%# Convert.ToString(Eval( "name_pro ")).Length > 8 ? Convert.ToString(Eval( "name_pro ")).Substring(0,8) : Eval( "name_pro ")%>
------解决方案--------------------
截字符串啊.....
public string getStr(string src,int len)
{
string retstr=src;
if(src.length> len)
{
ret=src.substring(0,len)+ "... ";
}
return retstr;

}
------解决方案--------------------
你写一个公用函数,在HTML中引用它就行了
http://www.aspnet168.com.cn/
------解决方案--------------------
(Eval( "---- ").Tostring().Length > 8)?(Eval( "---- ").Tostring().SubString(0,8)+ "... "):
Eval( "---- ")

取前面8个字符显示
------解决方案--------------------
上边的兄弟们都已经解决了,呵呵。可以在数据库中提取的时候就截取。
供楼主参考:
数据库与句为:
"select [字段1,字段2,(case when len(超级链接列的字段)> 14 then left(超级链接列的字段,14)+ '... ' else 超级链接列的字段 end) as 超级链接列的字段 from 表 where [查询条件] order by [排列顺序] ";
14就是字段的长度,当然是可以改的,呵呵。如果不够14个字就会全部显示。
------解决方案--------------------
试试我的,用css
.listover50
{
width:50px;
text-align:left;
overflow:hidden;
text-overflow:ellipsis;
white-space:nowrap;
padding-left: 5px;
}


*.cs
=--------
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink link = (HyperLink)e.Row.Cells[*].Controls[0];
e.Row.Cells[*].Text = " <div class=\ "listover50\ "> <a href= ' " + link.NavigateUrl + " '> " + link.Text + " </a> </div> ";
}
}