2012-11-08 6 views
5

Wenn der Benutzer über den Spaltenkopf einer Spalte in der Gridview für zB: Spaltenüberschrift Jahr, wenn ich schweben über Jahr Ich sollte eine Erklärung von sehen Was dieses Jahr bedeutet "Dies ist das Jahr, in dem der Student der Hochschule beitrat usw.".Wie man einen Tooltip hinzufügt mit der Maus über die Grid-Ansicht Spaltenüberschrift

Unten ist mein ascx Code:

<asp:GridView ID="grdView" runat="server" Width="900px" AutoGenerateColumns="False" 
       AllowPaging="true" AllowSorting="true" CellSpacing="0" CellPadding="5" PageSize="20" 
     OnRowDataBound="grdView_RowDataBound"> 
       <Columns> 
<asp:TemplateField HeaderText="ID Number" ItemStyle-Width="90px" > 
    <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" Text='<%# Bind("ID")%'></asp:Label> 
    </ItemTemplate> 
</asp:TemplateField><asp:BoundField DataField="StudentName" HeaderText="StudentName"> </asp:BoundField> 

Bitte lassen Sie mich wissen, wie könnte ich schweben über Texte oder Tooltips auf Spaltenüberschriften meiner gridview. Danke,

Antwort

5

ich nie asp.net Entwicklung gemacht haben, aber es scheint hier eine Lösung zur Verfügung gestellt werden: how to add title for every header column in gridview in ASP.NET

Ihre Probe könnte wie folgt aussehen:

<asp:GridView ID="grdView" runat="server" Width="900px" AutoGenerateColumns="False" 
      AllowPaging="true" AllowSorting="true" CellSpacing="0" CellPadding="5" PageSize="20" 
    OnRowDataBound="grdView_RowDataBound"> 
      <Columns> 
<asp:TemplateField HeaderText="ID Number" ItemStyle-Width="90px" > 
<HeaderTemplate> 
     <asp:Label ID="Header" ToolTip="HERE WE GO!!!!" runat="server" Text="Label"></asp:Label> 
     </HeaderTemplate> 
    <ItemTemplate> 
     <asp:Label ID="Label1" runat="server" Text='<%# Bind("ID")%'></asp:Label> 
    </ItemTemplate> 
</asp:TemplateField><asp:BoundField DataField="StudentName" HeaderText="StudentName"> </asp:BoundField> 

Ich würde dass ein Versuch :)

5

In Ihrem Code hinter der Methode RowDataBound für das Gridview erstellen und den Code unten

hinzufügen

Vergessen Sie nicht, das Attribut OnRowDataBound in der GridView zu setzen.

http://rosshawkins.net/archive/2007/04/15/adding-tooltips-to-gridview-headers.html.aspx

+0

Das macht die Zelle, was ist mit dem Header? – SearchForKnowledge

+0

Der Link crs0794 geschrieben ist eine hervorragende Möglichkeit, Tooltips zum Header hinzuzufügen. Lesenswert. – Doreen

6

Here is the CSS tooltip for Gridview in C# using Jquery

protected void grd_popup_details_RowDataBound(object sender, GridViewRowEventArgs e) 
    { 
     for (int i = 0; i < e.Row.Cells.Count; i++) 
     { 
      e.Row.Cells[i].ToolTip = e.Row.Cells[i].Text; 
     } 
    } 

Refference link

+0

plus 1 für die Info-Grafik mehr als alles andere! :) Wie machst du das? – Fandango68

+0

So fügen Sie einen Tool-Tipp nur für die jeweilige Spalte hinzu, sagen Sie in Ihrer Antwort nur für die Kommentare –

0

Sein mögliches Spaltenname ist, selbst wenn automatisch generieren = True und die Gridview-Spalten wurden dynamisch bestimmt zu verwenden.

Auch HtmlDecode() schien erforderlich, wenn der Text maskierte Zeichen wie Anführungszeichen enthält.

Dictionary<string, int> _headerIndiciesForDetailsReportGridView = null; 

protected void detailsReportGridView_RowDataBound(object sender, GridViewRowEventArgs e) 
{ 
    if (_headerIndiciesForDetailsReportGridView == null) 
    { 
     int index = 0; 
     _headerIndiciesForDetailsReportGridView = ((Table)((GridView)sender).Controls[0]).Rows[0].Cells 
      .Cast<TableCell>() 
      .ToDictionary(c => c.Text, c => index++); 
    } 

    if (e.Row.RowType == DataControlRowType.DataRow) 
    {     
     TableCell cell = e.Row.Controls[_headerIndiciesForDetailsReportGridView["theColumnName"]] as TableCell; 

     // Set tooltip to the full original text. Decode to remove &quot, etc. 
     // 
     string orgText = cell.ToolTip = HttpUtility.HtmlDecode(cell.Text); 

     if (orgText.Length > 20) // If cell text should be shortened 
      cell.Text = HttpUtility.HtmlEncode(orgText.Substring(0, 20) + "..."); 
    } 
} 
Verwandte Themen