GridView中文本过长用CSS实现截取隐藏文字(asp.net)

来源:互联网 发布:linux怎么进入图形界面 编辑:程序博客网 时间:2024/04/30 20:05
有时候文字太长时会影响页面的布局,需要把后面的隐藏掉,只显示省略号(...),对于div标签比较容易
如:
.content
     {
         width:100px;
         white-space:nowrap;
         overflow:hidden;
         text-overflow:ellipsis;/*以省略号替代截除部分*/
     }
    
<div class="content">隐藏过长的文字</div>
而对于table和GridView却不能实现,其实GridView最终也是解析为table在页面显示,所以用GridView为例。
1、定义如下CSS样式
   .tableCSS
     {
         table-layout: fixed;
     }
     .content
     {
         width:100%;
         white-space:nowrap;
         overflow:hidden;
         text-overflow:ellipsis;/*以省略号替代截除部分*/
     }
2、为GridView设置样式
   <asp:GridView CssClass="tableCSS"   必需要为整个table或GridView添加样式 且table-layout:的值必需为fixed
对于要隐藏的列添加样式,如
   <asp:BoundField DataField="MainTitle" HeaderText="内容">
         <temStyle Width="42%" CssClass="content" />
         <HeaderStyle Width="42%" />
   </asp:BoundField>
由于样式table-layout: fixed;会把各列都设为相同的宽度,所以需要为每列添加类似设置<HeaderStyle Width="42%" />,以确定每列的宽
完成上面的工作即可看到效果,由于内容被隐藏了部分,想要当鼠标放上去时显示以提示的方式查看时,在GridView的RowDataBound事件中添加如下代码即可
   if (e.Row.RowType == DataControlRowType.DataRow)
   {
     e.Row.Cells[5].ToolTip = e.Row.Cells[5].Text;   //内容
   }

 

原创粉丝点击