在GridView中截取文章标题的一部分?
在gridview中,获取文章标题字段的一部分,点击标题在详细内容页面才会将全部显示标题,在用VS2005的简易数据绑定方法的时候如何解决?<ItemTemplate><...
在gridview中,获取文章标题字段的一部分,点击标题在详细内容页面才会将全部显示标题,在用VS2005的简易数据绑定方法的时候如何解决?
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# ( (Eval("dz").ToString().Length >10) ?(Eval("dz").ToString().Substring(0,5)) : (Eval("dz").ToString()) ) %>'></asp:Label>
</ItemTemplate>
这样做,只有第一行的数据会截取设定字符,从第二行开始就不会起起作用了 展开
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# ( (Eval("dz").ToString().Length >10) ?(Eval("dz").ToString().Substring(0,5)) : (Eval("dz").ToString()) ) %>'></asp:Label>
</ItemTemplate>
这样做,只有第一行的数据会截取设定字符,从第二行开始就不会起起作用了 展开
3个回答
展开全部
这个用css可以控制的.
自动截取字符串并跟随省略号的CSS
text-overflow:ellipsis;overflow:hidden;white-space: nowrap;
顺序必须这样,换了顺序可能就没这个效果了!
把单元格显示不下的文本用省略号代替,并且当mouseover时用提示信息显示全部内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<table border="1" style="table-layout:fixed">
<tr>
<td style="width:150px;overflow:hidden;text-overflow:ellipsis;"><div style="white-space:nowrap;" title="" onmouseover="changeTitle(this)">这一行超出了范围这一行超出了范围这一行超出了范围这一行超出了范围<div></td>
</tr>
<tr>
<td style="width:150px;overflow:hidden;text-overflow:ellipsis;"><div style="white-space:nowrap;" title="" onmouseover="changeTitle(this)">这一行没超范围<div></td>
</tr>
<tr>
<td style="width:150px;overflow:hidden;text-overflow:ellipsis;"><div style="white-space:nowrap;" title="" onmouseover="changeTitle(this)">这一行又超出了范围这一行又超出了范围<div></td>
</tr>
</table>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--
function changeTitle(obj){
if(obj.offsetWidth>obj.parentElement.offsetWidth){
obj.title=obj.innerText;
}else{
obj.title="";
}
}
//-->
</SCRIPT>
自动截取字符串并跟随省略号的CSS
text-overflow:ellipsis;overflow:hidden;white-space: nowrap;
顺序必须这样,换了顺序可能就没这个效果了!
把单元格显示不下的文本用省略号代替,并且当mouseover时用提示信息显示全部内容
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
</HEAD>
<BODY>
<table border="1" style="table-layout:fixed">
<tr>
<td style="width:150px;overflow:hidden;text-overflow:ellipsis;"><div style="white-space:nowrap;" title="" onmouseover="changeTitle(this)">这一行超出了范围这一行超出了范围这一行超出了范围这一行超出了范围<div></td>
</tr>
<tr>
<td style="width:150px;overflow:hidden;text-overflow:ellipsis;"><div style="white-space:nowrap;" title="" onmouseover="changeTitle(this)">这一行没超范围<div></td>
</tr>
<tr>
<td style="width:150px;overflow:hidden;text-overflow:ellipsis;"><div style="white-space:nowrap;" title="" onmouseover="changeTitle(this)">这一行又超出了范围这一行又超出了范围<div></td>
</tr>
</table>
</BODY>
</HTML>
<SCRIPT LANGUAGE="JavaScript">
<!--
function changeTitle(obj){
if(obj.offsetWidth>obj.parentElement.offsetWidth){
obj.title=obj.innerText;
}else{
obj.title="";
}
}
//-->
</SCRIPT>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
分两步
1、在页面对应的cs代码里加入public函数
public string CutTitle(object o)
{
if(o != null)
{
return o.ToString().Substring(.., ..);
}
return "";
}
2、把页面代码改为
<%# CutTitle(Eval("dz")) %>
思路就是这样的
1、在页面对应的cs代码里加入public函数
public string CutTitle(object o)
{
if(o != null)
{
return o.ToString().Substring(.., ..);
}
return "";
}
2、把页面代码改为
<%# CutTitle(Eval("dz")) %>
思路就是这样的
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询