应该用gridview的RowDataBound事件;单元格中过长的内容用省略号表示,鼠标放上时可以全部显示;例子代码如下:
protected void gridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)//数据行
{
string Str = e.Row.Cells[1].Text; //第二列内容
if (Str.Length > 20) //第二列内容大于20个
{
e.Row.Cells[1].Text = Str.Substring(0, 20) + "..."; //截取20个显示,其他用“...”号代替
e.Row.Cells[1].ToolTip = Str;//鼠标放上去显示全部信息
}
}
}
这个很简单啦,这样吧,我给你一个方法,你试试:
#region 截取字符串(如果字符串的长度大于传入的规定长度,多余的部分则用...代替,否则,直接返回该字符串)
///
/// 截取字符串
///
/// 要截取的字符串
/// 规定该字符串显示的长度
///
public string GetCut(string str, int len)
{
//如果字符串的长度大于传入的规定长度,多余的部分则用...代替,否则,直接返回该字符串
if (str.Length > len)
{
return str.Substring(0, len) + "...";
}
else
{
return str;
}
}
#endregion
调用:
例如:<%# GetCut(Eval("pub_content").ToString(),20)%>,显示20个字符,你可以根据你的需要更改