在使用gridview的时候, 如有一行的某个字段内容字数很多,只想让它在gridview中显示部分字,但是鼠标点上去后能显示出所有的.这个的具体实现如下:
1.先写一个CSS ,这个控制的效果是在长度超出gridview的某字段设置的长度的时候,显示部分字段,在之后添加“...”
以示还有没显示完的内容。
.GirdViewRow
{
text-overflow:ellipsis;
overflow: hidden;
white-space: nowrap;
}
2.在设置好CSS后,我们要将gridview的待设置的列变成模板列,讲步骤1中的CSS设置为此字段的CssClass属性
3.在源中将gridview的设置的列的ToolTip的属性值设置为和此列的Text的属性值相等就行了
<asp:TemplateField HeaderText="任务单元" >
<EditItemTemplate>
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("TaskName") %>'></asp:TextBox>
</EditItemTemplate>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle" />
<ItemTemplate>
<asp:Label ID="Label1" runat="server" Text='<%# Bind("TaskName") %>' CssClass = "GirdViewRow" ToolTip = '<%# Bind("TaskName")%>'Width="120px"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
优点:代码量少,简单的设置就行了
缺点:CSS中的text-overflow是IE6才有的 如果别的浏览器可能会的显示的效果不如意