本文主要是介绍在DataList和Gridview中截取某列长度,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一种是利用前台+后台代码的方法来实现(如果对于内容的处理比较复杂)(转自:http://blog.csdn.net/hnuyangyi/article/details/4042709)
//截取的函数方法
public string SubStr(string sString, int nLength)
{ if (sString.Length <= nLength)
{
return sString;
}
string sNewStr = sString.Substring(0, nLength);
sNewStr = sNewStr + "...";
return sNewStr;
}
//界面引用
<%# SubStr(Eval("GameSm").ToString(),30)%>
一种是直接在前台使用函数来实现(转自:http://yushuir.blog.163.com/blog/static/434671382009821158262/)
//在Gridview中要注意,要插入的项是TemplateField才能做截取,不能是单纯的HyperLink。<asp:TemplateField HeaderText="新闻标题"> <ItemTemplate> <%# (Eval("NewsName").ToString().Length>8?Eval("NewsName").ToString().Substring(0,8):Eval("NewsName").ToString()) + "…" %> </ItemTemplate>
</asp:TemplateField>
此处需要注意的是:在C#中是有大小写区分的,如果不正确会提示错误
如果需要对截取列提示信息的显示,可以在ItemTemplate中增加一个label,对其tooltile属性进行赋值操作
<asp:TemplateField HeaderText="新闻标题"> <ItemTemplate> <asp:Label runat="server" Text='<%# (Eval("NewsName").ToString().Length>8?Eval("NewsName").ToString().Substring(0,8):Eval("NewsName").ToString()) + "…" %>' ToolTip=<%#Eval("drug_vender")%>></asp:Label> </ItemTemplate>
</asp:TemplateField>
或是后台代码实现
<pre class="csharp" name="code"> protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { e.Row.ToolTip = "这是第" + (e.Row.RowIndex + 1).ToString() + "行"; }}
这篇关于在DataList和Gridview中截取某列长度的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!