在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() + "行"; 
	}
     }


                
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值