Question Pré-séléction de ligne dans une DataGrid

Plus d'informations
il y a 2 ans 5 mois #31397 par PROUT
   J'essaie de gérer un DataGrid, que je nomme ici "Grille". Celui-ci est rempli par les champs d'un fichier.avec la méthode $Grille.Rows.Add(). Ensuite, avant de proposer à l'utilisateur de sélectionner une ligne (parmi une vingtaine), je souhaiterais pré-sélectionner la ligne la plus probable qui est la dernière ligne.  Après de multiples recherches, je n'ai pas réussi à trouver une méthode qui puisse me désigner la ligne que je veux pré-sélectionner. S'il y a une solution, l'utilisateur n'aurait plus alors qu'à frapper "Enter" (cas classique) pour valider la ligne pré-sélectionnée.

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 5 mois #31403 par ericlm128
Je pense qu'il s'agit du control DataGridView, voici un exemple (fait à la volé, à tester)
$Grille.Rows[$Grille.Rows.Count - 1].Selected = $true

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 5 mois #31406 par PROUT
   Merci ericlm128 pour ta proposition. J'ai déjà, en effet, mis ma dernière ligne de DataGrid à l'état "Selected". Un GetState me dit bien qu'elle est dans cet état. Malgré cela, ma grille apparaît toujours avec la 1ère ligne bleuie. Je n'arrive pas à comprendre. Pour se rendre compte, je joins mon script de travail:
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 5 mois #31407 par ericlm128
D'accord, vas y joint le script

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 5 mois #31408 par PROUT
J'ai essayé de t'envoyer ce script  en cliquant sur le bouton "Pièces jointes". Il semble que ça n'ait pas fonctionné. Je refait une tentative. 

Fichier attaché :

Nom du fichier : Essai_Gril...0-06.ps1
Taille du ficher :13 ko
 

Fichier attaché :

Nom du fichier : Essai_Gril...0-06.ps1
Taille du ficher :13 ko
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 2 ans 5 mois #31410 par ericlm128
Le code que je t'ai donné fonctionne très bien mais au moment de l'affichage du formulaire des mécanismes d'initialisations/chargements de la DataGridView "écrase" notre sélection de ligne.

En règle général en C#, je mets mon code de personnalisation des contrôles dans l'évènement load de mon formulaire.

Ce qui donne ceci en Powershell
$Fen_Etat_SV.Add_Load({$Grille.Rows[$Grille.Rows.Count - 1].Selected = $true})
ou
$Fen_Etat_SV.Add_Load({$Grille.Rows[$Grille.RowCount - 1].Selected = $true})

Tu as décidé de laisser l'affichage de la dernière ligne vide (non significatif) pour permettre à l'utilisateur d'ajouter des lignes en laissant la propriété AllowUserToAddRows par défaut avec la valeur True
Pour prendre en compte ce phénomène je ferai ceci (ce qui évite un compteur d'item)
$Fen_Etat_SV.Add_Load({$Grille.Rows[$Grille.RowCount - 1 - ([int]($Grille.AllowUserToAddRows))].Selected = $true})

Script :

Fichier attaché :

Nom du fichier : Essai_Gril...m128.ps1
Taille du ficher :13 ko


Qu'en dis tu ?
Pièces jointes :

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.257 secondes
Propulsé par Kunena