Question

Je suis assez nouveau à l'aide de contrôles Infragistics (commencé hier). Alors qu'ils sont (très) impressionnant, ils ajoutent une autre couche de complexité, que je muddeling à travers. Je demande donc ce que je ressens d'être une question assez simple:

Je suis en train d'obtenir la valeur d'une autre colonne en plus de celui qui est affiché dans la liste déroulante. Jusqu'à présent, toutes mes tentatives ont seulement la valeur de saisit la colonne d'en-tête et non la valeur dans la colonne de la ligne qui a été sélectionnée.

Plus précisément, je veux prendre de ma ultracombobox la valeur de la colonne lastname lorsqu'une ligne est sélectionnée et le placer dans une zone de texte. Le code ci-dessous je retruns jusqu'à présent la colonne d'en-tête (LastName) et rien d'autre, peu importe quelle ligne je sélectionne.

Private Sub ucboPatientInfo_RowSelected(ByVal sender As Object, ByVal e As Infragistics.Win.UltraWinGrid.RowSelectedEventArgs) Handles ucboPatientInfo.RowSelected
        ucboPatientInfo.ValueMember = "accounts"
        LastName = ucboPatientInfo.SelectedRow.Band.Columns(1).ToString

J'ai ajouté: « ucboPatientInfo.ValueMember = « comptes » » aider à clarifier ce que fait mon code il est en fait dans cette partie du code

.

S'il vous plaît aider

Était-ce utile?

La solution 2

trouvé combinaison correcte:

LastName = ucboPatientInfo.Cells(5).Value

Autres conseils

On dirait que vous avez trouvé une solution de travail à votre propre problème. Je pensais que je voudrais juste ajouter un peu plus d'informations et de choses à considérer.

Vous pouvez éviter un index dur refrence pour ton portable, au cas où les changements de position dans l'avenir que vous ajoutez de nouvelles données à la source de données de la grille. Dites que vous insérez une autre colonne avant lastName, maintenant vos .Cells (5) retourne des données incorrectes.

Essayez plutôt à l'aide des cellules ( "columnName") pour l'accès comme ceci:

LastName = ucboPatientInfo.Cells("LastName").Value

Vous devriez aussi essayer d'utiliser les eventArgs et les objets de l'expéditeur au sein de votre événement et éviter une refrence de contrôle direct. Donc, votre code pourrait ressembler à ceci:

LastName = e.Row.Cells("LastName").Value.ToString()

Je suis heureux de voir vos choses Workin dans tous les cas.

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