OVH Cloud OVH Cloud

CurrentRowIndex dans Datagrid

2 réponses
Avatar
Gerry
Bonjour,

je voudrais sélectionner une ligne de mon datagrid qui correspond à un
critère particulier.
Je sais très bien comment sélectionner les lignes avec entre autres la
propriété CurrentRowIndex mais je suis incapable de retrouver l'index de la
ligne qui répond à mon critère de recherche.
J'ai une colonne qui représente la clef de ma table.
J'ai pensé essayer la méthode find de ma table mais celle ci ne retourne pas
un index mais bien un DataRow.
Je me sens tout bête parce que je suis certain que cela est fort simple mais
je ne vois toujours pas comment.

Merci d'avance pour vos réponses.

Gerry

2 réponses

Avatar
Osman MALIK [MS]
Bonjour,
Si je comprends bien votre besoin, vous désirez retrouver la ligne du
DataGrid qui correspond à la valeur d'un ID de votre DataSet.
Vous pouvez essayer d'affecter à la valeur ID des controles du DataGrid la
valeur contenue dans votre colonne ID de votre DataSet.
Ainsi, vous pourrez faire correspondre l'ID que vous recherchez avec celui
de la ligne du DataGrid.

Si j'ai mal compris votre besoin, pourriez vous me le détailler à nouveau?

Merci,
Osman MALIK


"Gerry" wrote in message
news:
Bonjour,

je voudrais sélectionner une ligne de mon datagrid qui correspond à un
critère particulier.
Je sais très bien comment sélectionner les lignes avec entre autres la
propriété CurrentRowIndex mais je suis incapable de retrouver l'index de
la
ligne qui répond à mon critère de recherche.
J'ai une colonne qui représente la clef de ma table.
J'ai pensé essayer la méthode find de ma table mais celle ci ne retourne
pas
un index mais bien un DataRow.
Je me sens tout bête parce que je suis certain que cela est fort simple
mais
je ne vois toujours pas comment.

Merci d'avance pour vos réponses.

Gerry



Avatar
Gerry
Bonjour Osman,
Je vais tenter d'être le plus clair possible.
Mon DataGrid est rempli avec un jeu de données qui possède effectivement un
id.
Au moment ou l'utilisateur spécifie un critère (qui est un id unique), je
désire que mon DataGrid sélectionne la ligne correspondante. Je ne veux pas
faire un filter ou une vue correspondant à mon résultat, je désire garder
l'ensemble de mes données et sélectionner dans le DataGrid la ligne désirée
par l'utilisateur. Pour ce faire je dois connaître l'index de la ligne visée
auquelle je pourrai facilement par la suite affecter la propriété
CurrentRowIndex.
C'est la technique pour trouver la position d'une ligne dans un DataSet ou
un DataGrid qui me manque.
Pour l'instant j'ai trouvé une façon de m'en sortir (après avoir lu ta
réponse) en utilisant le DefaultView de la table qui est la source du
DataGrid.
Dans le cas du DefaultView la méthode Find retourne un index et non pas un
DataRow. Cela me donne quelque chose comme
DataGrid.CurrentRowIndex =
DSData.Tables(0).DefaultView.Find("Critère")
ce qui me satisfait à moins que quelqu'un puisse me démontrer une technique
plus appropriée.

Gerry

"Osman MALIK [MS]" a écrit :

Bonjour,
Si je comprends bien votre besoin, vous désirez retrouver la ligne du
DataGrid qui correspond à la valeur d'un ID de votre DataSet.
Vous pouvez essayer d'affecter à la valeur ID des controles du DataGrid la
valeur contenue dans votre colonne ID de votre DataSet.
Ainsi, vous pourrez faire correspondre l'ID que vous recherchez avec celui
de la ligne du DataGrid.

Si j'ai mal compris votre besoin, pourriez vous me le détailler à nouveau?

Merci,
Osman MALIK


"Gerry" wrote in message
news:
> Bonjour,
>
> je voudrais sélectionner une ligne de mon datagrid qui correspond à un
> critère particulier.
> Je sais très bien comment sélectionner les lignes avec entre autres la
> propriété CurrentRowIndex mais je suis incapable de retrouver l'index de
> la
> ligne qui répond à mon critère de recherche.
> J'ai une colonne qui représente la clef de ma table.
> J'ai pensé essayer la méthode find de ma table mais celle ci ne retourne
> pas
> un index mais bien un DataRow.
> Je me sens tout bête parce que je suis certain que cela est fort simple
> mais
> je ne vois toujours pas comment.
>
> Merci d'avance pour vos réponses.
>
> Gerry
>