Question

J'utilise une version d'infragisme 2013. J'ai une exigence dans laquelle je dois ajouter un bouton avec un texte dans une colonne Winforms Ultragrid. Le bouton ouvrira un écran contextuel qui permet à l'utilisateur de sélectionner une valeur qui sera affichée sous forme de texte dans la colonne du réseau.

merci.

Était-ce utile?

La solution 3

OK a la réponse.

a dû définir le style de colonnes à Editbutton.

UltraGrid1.DisplayLayout.Bands(0).Columns("ColName").Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton

Autres conseils

Définir le style de la colonne à Columnstyle .editbutton.Par exemple:

UltraGrid1.DisplayLayout.Bands(0).Columns("ColName").Style = Infragistics.Win.UltraWinGrid.ColumnStyle.EditButton 

Vous pouvez ensuite gérer les ultravigraphes CellbuttonClicked événement Pour savoir quand le bouton a été cliqué sur l'endroit où E.Cell vous fera savoir quelle cellule a été cliquée:

Private Sub UltraGrid1_ClickCellButton(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.CellEventArgs) Handles ultraGrid1.ClickCellButton
   Debug.WriteLine("Button in " & e.Cell.Value.ToString() & " cell was clicked.")
End Sub

Juste pour étendre légèrement la réponse: Si vous souhaitez que le bouton soit visible tout le temps (plutôt que simplement lorsque vous cliquez sur la cellule contenant le bouton), vous devrez peut-être également régler la touche ButTondisPlayStyle:

UltraGrid1.DisplayLayout.Bands(0).Columns("ColName").ButtonDisplayStyle = UltraWinGrid.ButtonDisplayStyle.Always

Aussi, si vous souhaitez plus de contrôle sur l'apparence ou l'emplacement du bouton, cette information de Mike Saltzman d'InfraGistics peut être utile:

Si vous voulez des boutons laissés alignés, plus d'un bouton dans la même cellule ou des boutons qui ne remplissent pas la cellule entière mais contiennent du texte et / ou des images, vous pouvez utiliser un éditeur. L'approche de base est quelque chose comme ceci:

1) ajoutez un contrôle de l'éditeur à votre formulaire (comme UltrateurTeditor, pour exemple).

2) Utilisez la collection ButtonSleft et / ou ButtonSright pour ajouter le boutons que vous voulez. Vous pouvez définir le texte et l'apparence de chaque bouton.

3) dans le code, définissez l'éditeurControl de la colonne (ou de la cellule) sur le Contrôle de l'éditeur. Ceci est essentiellement comme la fixation du style mais dans un manière plus robuste.

4) Pour gérer les événements de clics du ou des boutons, vous gérez les événements sur l'éditeur - pas la grille. Par exemple, si c'est juste une normale bouton, vous utiliseriez édifierButtonClick. L'événement args vous passera un contexte qui retournera la cellule de la grille dans laquelle le bouton était cliqué sur.

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