我需要添加一个包含字段文本的简短版本的列。我希望如果用户将鼠标放在此文本上,则会出现带有真实大版本的工具提示。我坚持认为这是一个解决过度大细胞的网格视图失真的方法。欢迎其他解决方案。
<asp:GridView ID="GridView1" runat="server" CellPadding="4" ForeColor="#333333"
GridLines="None" AutoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="DESC_CORTA" HeaderText="Sistema" />
<asp:BoundField DataField="ASIGNADO" HeaderText="Asignado" />
<asp:BoundField DataField="SOLICITANTE" HeaderText="Solicitante" />
<asp:BoundField DataField="FECHA_INGRESO" HeaderText="Fecha ingreso" />
<asp:BoundField DataField="N_SOLICITUD" HeaderText="N solicitud" />
<asp:BoundField DataField="TIEMPO_TOTAL" HeaderText="Tiempo total" />
<asp:BoundField DataField="TIEMPO_RESTANTE" HeaderText="Tiempo restante" />
<asp:BoundField DataField="PORCENTAJE_RESTANTE" HeaderText="Porcentaje restante" />
<asp:BoundField DataField="TIEMPO_ESPERADO" HeaderText="Tiempo esperado" />
HERE COMES THE BIG COLUMN
<asp:BoundField DataField="GLOSA_USUARIO" HeaderText="Glosa" />
</Columns>
</asp:GridView>
答案 0 :(得分:2)
使用TemplateField并应用工具提示。
更改
<asp:BoundField DataField="GLOSA_USUARIO" HeaderText="Glosa" />
对此:
<asp:TemplateField HeaderText="Glosa">
<ItemTemplate>
<div title='<%# Eval("GLOSA_USUARIO") %>'>
<%# Helpers.GeneratePreview(Eval("GLOSA_USUARIO").ToString(), 100) %></div>
</ItemTemplate>
</asp:TemplateField>
这是具有“GeneratePreview”功能的助手类:
public static class Helpers
{
public static string GeneratePreview(string Text, int Length)
{
if (Text.Length >= Length)
{
Text = Text.Remove(Length, Text.Length - Length);
int CutLastSpace = Text.LastIndexOf(" ");
Text = Text.Remove(CutLastSpace, Text.Length - CutLastSpace);
Text = Text + "...";
}
return Text;
}
}
如果您愿意,可以使用javascript获得更精美的工具提示。希望这有帮助!
祝你好运!
答案 1 :(得分:0)
是的,他们是对的你必须像他们说的那样使用模板字段。要显示花哨或良好的多线工具提示,请使用最佳工具提示(下面的链接)
<asp:TemplateField HeaderText="Glosa">
<ItemTemplate>
<div title='<%# Eval("GLOSA_USUARIO") %>'>
<%# Eval("GLOSA_USUARIO")%></div>
</ItemTemplate>
</asp:TemplateField>
http://bassistance.de/jquery-plugins/jquery-plugin-tooltip/ 要么 http://craigsworks.com/projects/simpletip/