我在使用DataGrid显示标题内容的时候遇到这样一个问题
当文章标题文字过长的时候,DataGrid会自动对其换行,但这样后我的表格就被上下胀开了,不美观
所以我并不想让它自动换行,而是只显示标题的前一部分内容,
如何让显示的内容只显示一部分多余的用...来代替?很急的,在线等呀!解决就给分!我的代码:
<asp:datagrid ID="new_Grid" runat="server"
AllowCustomPaging="true"
BorderColor="#EAF0F7"
BorderWidth="0"
CellPadding="2"
...
DataKeyField="NewsID" >
<Columns>
<asp:HyperLinkColumn DataTextField="Title" target="_blank"
DataNavigateUrlField="NewsID" DataNavigateUrlFormatString="Show.aspx?ID={0}"/>
</Columns>
asp:datagrid>
当文章标题文字过长的时候,DataGrid会自动对其换行,但这样后我的表格就被上下胀开了,不美观
所以我并不想让它自动换行,而是只显示标题的前一部分内容,
如何让显示的内容只显示一部分多余的用...来代替?很急的,在线等呀!解决就给分!我的代码:
<asp:datagrid ID="new_Grid" runat="server"
AllowCustomPaging="true"
BorderColor="#EAF0F7"
BorderWidth="0"
CellPadding="2"
...
DataKeyField="NewsID" >
<Columns>
<asp:HyperLinkColumn DataTextField="Title" target="_blank"
DataNavigateUrlField="NewsID" DataNavigateUrlFormatString="Show.aspx?ID={0}"/>
</Columns>
asp:datagrid>
循环遍历字段的长度,字段长的用SubString函数截取前一部分,然后加上...就行了
<item...>
<a href=.. text=<%gettext(把值传进来)%>></a>
</item...>
</asp:temp.....>然后在后台
public string gettext(object str)
{
string returnstr = str.tostring();
return returnstr.substring(0,returnstr.length >= 100 100 : returnstr.length);
}
这样就只返回前一百个字
大致这样,
或者直接在sql中做
public string gettext(object str)
{
string returnstr = str.tostring();
return returnstr.length>100?returnstr.substring(0,100>: returnstr);
}