ASP.NET Gridview超出长度用..代替,提示显示详细信息

原创 2012年03月24日 13:53:56
总结一下,ASP.NET Gridview单元格字段值超出固定长度用.....代替,实现方法很多,以下列举三种。

第一种:
在Gridview的事件RowDataBound中添加如下代码:
for (int i = 0; i < e.Row.Cells.Count; i++)//获取总列数    
       {    
           //如果是数据行则添加title    
           if (e.Row.RowType == DataControlRowType.DataRow)    
           {//设置title为gridview的head的text    
               e.Row.Cells[i].Attributes.Add("title", Gridview1.HeaderRow.Cells


[i].Text.ToString().Trim());    
           }    
       }    
   }    
   if (e.Row.RowIndex > -1)    
   {    
       string tmp =((HyperLink) e.Row.FindControl("HypLinkTitle")).Text;     
       if (tmp.Length > 3)    
       {    
           ((HyperLink)e.Row.FindControl("HypLinkTitle")).Text = tmp.Substring(0, 3) + "…";    
           ((HyperLink)e.Row.FindControl("HypLinkTitle")).Attributes.Add("title", tmp);//以tooptip的方式显示全部内容       
       }    
   }  


第二种:用三元运算符!截取字符串,当超过你指定的长度后截取,绑定时候用三目运算处理。代码如下:

<%# Eval("title").ToString().length>100?Eval("title").ToString().length(0,100)+"...":Eval("title").ToString()%>

第三种:最简单的可以通过CSS来设置省略号,鼠标移上全部显示用ToolTip,分3步来实现,代码如下:

1.设置CSS

  <style type="text/css">
  .mlength
  {
  display: block;
  width: 100px;
  overflow: hidden;  
  white-space: nowrap;
  -o-text-overflow: ellipsis;
  text-overflow: ellipsis;
  }
  </style>

2.设置GridView的某一字段为模板列并设置css,如:

<asp:Label ID="Label1" runat="server" Text='<%# Eval("字段") %>'  CssClass="mlength"></asp:Label>

3.后台设置ToolTip:
  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {
  if (e.Row.RowType == DataControlRowType.DataRow)
  {
     ((Label)e.Row.Cells[0].FindControl("Label1")).ToolTip = ((Label)e.Row.Cells[0].FindControl("Label1")).Text;
  }
  }

当然,ToolTip也可以在前台设置,代码如下:

<asp:Label ID="Label1" runat="server" Text='<%# Eval("字段") %>' CssClass="mlength"  ToolTip='<%# Eval("字段") %>'></asp:Label>


动态设定GridView的高度,固定column,实现高度自适应

动态设定GridView的高度,固定column,根据gridview中的item个数设定高度: 调用以下方法: public static void setListViewHeight...

GridView截取某一列字符串的长度,

在Gridview中,如果你的某一列字符串的长度过长,不做处理的话.那么将显示的奇丑无比,可以采取设置样式,将其显示为定长,可以在点击查看的时候,在另一个页面对其进行显示首先在前台设置样式然后在后台G...

gridview某列文本长度超过某值显示省略号

概述:1.gridview某列文本长度超过某值显示省略号            2.但鼠标移动到该列单元格时弹出div层,显示全部信息   其实网上有很类似到资料,不过没有看见完整的...

设置GridView编辑框长度

  GridView编辑状态下的编辑框长度默认是固定长度的,因此总是出现过长或过短的问题,本文给出两种设置其长度与非编辑状态下列长度一致的方法。方法1:属性设置方法     (1)打开Columns属...

.NET截取指定长度汉字超出部分以“...”代替

在做牛腩新闻发布系统整合前台和后台的时候用到了这个,分享给大家。 C#代码: /// /// 将指定字符串按指定长度进行剪切 /// /// 需要截断的字符串 /...

asp.net中gridview 如果字数太多可以用此方法把字体变短+.....

首先启动一个RowDataBound控件里面在加上一个if ((e.Row.Cells[0].Text).Length > 6)   {    e.Row.Cells[0].Text = (e.Row...

解决Asp.net下GridView中显示数据字段文字过长的办法

在网页显示时,经常遇到表格或Gridview,Datalist等中数据字段太长的问题。基本办法有两种:1,换行显示;2,先隐藏一部分,当鼠标移动到其位置时,自动将全部内容的显示出来。本文主要讲述如何采...

SQL 模糊查询条件的四种匹配模式

执行数据库查询时,有完整查询和模糊查询之分。 一般模糊语句格式如下: SELECT 字段 FROM 表 WHERE 某字段 LIKE 条件; 其中,关于条件,SQL提供了...

Asp.Net MVC4.0入门指南(9):查询详细信息和删除记录

在本教程中,您将查看自动生成的Details和Delete方法。 查询详细信息和删除记录 打开Movie控制器并查看Details方法。 ? public ActionResult D...

asp.net Gridview、Repeater 查无数据时显示表头及提示信息

因为在Gridview、Repeater 在后台查询不到数据时,前台不会显示表头信息,这样给人感觉很突兀,所以下面的方法是讲述如何显示表头及提示信息【暂时没有您想要的信息!】。 效果图如下: ...
  • yl_99
  • yl_99
  • 2012年04月16日 16:29
  • 3365
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ASP.NET Gridview超出长度用..代替,提示显示详细信息
举报原因:
原因补充:

(最多只允许输入30个字)