Question

J'aimerais qu'il y ait un champ d'info-bulle dans HyperLinkField comme il en existe un dans HyperLink. Je crée un HyperLinkField à l'aide d'un code avant de me connecter à ma source de données:

HyperLinkField hl = new HyperLinkField(); 
hl.DataNavigateUrlFields = new string[] { "col" };
hl.DataNavigateUrlFormatString = "{0}";
hl.DataTextField = "Foo";

Existe-t-il un moyen de définir également une valeur qui affichera une infobulle (ou un texte alternatif)? Toute aide sera appréciée.

Était-ce utile?

La solution

C'est exact, il n'y a pas de propriété de texte tooltip / alt dans un HyperlinkField . Pour remédier à cette lacune, vous devez utiliser un champ de modèle et ajouter un contrôle Hyperlien standard.

<asp:TemplateField HeaderText="Href">
    <ItemTemplate>
       <asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%#
          Eval("Href") %>' Text='<%# Eval("Href") %>' ToolTip='<%# Eval("Text")         %>'> 
       </asp:HyperLink>
    </ItemTemplate>
</asp:TemplateField>

Cependant, cela dans un programme nécessite beaucoup de travail. Vous devez créer votre propre classe qui implémente le ITemplate . Voici un didacticiel sur ce sujet.

Autres conseils

Votre besoin peut être accompagné de <asp:HyperlinkField> lui-même en ajoutant une info-bulle pour cette cellule spécifique dans le cas RowDataBound d'un <<>. Après avoir lié le GridView à votre source de données, vous pouvez le faire dans un événement GridView comme suit:

if (e.Row.RowType == DataControlRowType.DataRow)
{
    e.Row.Cells[0].ToolTip = "Your tooltip text";
}

Bien que vous ayez accepté une autre réponse, ma réponse pourrait être utile à d'autres utilisateurs!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top