IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Positionnement dans un datagridview


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 314
    Par défaut Positionnement dans un datagridview
    Bonjour,

    Je n'arrive à me positionner dans une cellule déterminée d'un DataGridView

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonGrid.Rows(5).Cells(5).Selected = True
    Cette ligne de code fonctionne nickel dans la procédure Load de la Form.
    Mais ne fonctionne pas du tout dans la procédure CellValueChanged du DataGridView. Je n'ai aucune erreur à l'éxecution

    FikoU

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 314
    Par défaut
    Je voit que le DataGridView reste un mystère pour beaucoup
    FikoU

  3. #3
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    .cells.selected sert à définir si la cellule est selectionnée ou non
    il suffit de chercher et en moins d'une minute on trouve .FirstDisplayedScrollingRowIndex
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 314
    Par défaut
    Salut sperot51 et merci pour ta réponse,

    Cela ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MonGrid.FirstDisplayedCell = Me.MonGrid.CurrentCell
    Dans le FormLoad se positionne sur sur Row(0).Cell(0)


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MonGrid.FirstDisplayedCell = Me.MonGrid.Item(e.RowIndex, e.ColumnIndex)
    Dans CellValidating se positionne dans la cellule suivante

    J'ai fait des recherches mais sur select ou autre, en géneral je trouve que rarement ce que je cherche dans l'aide vb.net.

    Ce que j'aimerai après une validation de sasie erronée me repositionner dans la cellule (dans tout les cas la cellule selectionnée est la suivante)

    A l'ffichage au lancement de la Form j'aimerai dans la cellule afficher le curseur de saisie.

    Merci d'avance.

    FikoU

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    314
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2002
    Messages : 314
    Par défaut
    Ce coup ci je crois avoir tout essayé :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    MonGrid.FirstDisplayedCell = Me.MonGrid.Item(e.RowIndex, e.ColumnIndex)''La cellule active ne peut pas être paramétrée en tant que cellule invisible
    MonGrid.FirstDisplayedCell = Me.MonGrid.CurrentCell '' ne plante pas mais ne sert à rien
    Me.MonGrid.CurrentCell = Me.MonGrid.Item(e.RowIndex, 5)''La cellule active ne peut pas être paramétrée en tant que cellule invisible
    Me.MonGrid.CurrentCell = MonGrid.Item(e.RowIndex, e.ColumnIndex) ''La cellule active ne peut pas être paramétrée en tant que cellule invisible
    Me.MonGrid.CurrentCell.Selected = True '' ne plante pas mais ne sert à rien
    MonGrid.Item(MonGrid.CurrentRow.Index, 5).Selected = True ''La cellule active ne peut pas être paramétrée en tant que cellule invisible
    Je rappel que ce code se trouve dans :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub mongrid_CellValidating(ByVal sender As Object, _
        ByVal e As DataGridViewCellValidatingEventArgs) _
        Handles MonGrid.CellValidating
    Bon ben voila @+ FikoU

  6. #6
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 204
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 204
    Par défaut
    et FirstDisplayedScrollingRowIndex tu l'as essayé ?
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  7. #7
    Nouveau membre du Club
    Inscrit en
    Novembre 2005
    Messages
    6
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Novembre 2005
    Messages : 6
    Par défaut
    Salut fikou, je ne sais pas si je saisi bien ton problème, mais je vais essayé de le résumé. Tu voudrais que lors de l'événement validating, si la valeur saisie dans la cellule n'est pas valide, que la cellule reste sélectionnée pour signifier à l'utilisateur que la valeur entrée n'est pas la bonne ?

    Simplement:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If taValeurEstInvalide Then
        e.Cancel = true
    End If
    Ça indique à ton logiciel de ne pas quitter la cellule, car la validation a échoué.

    Voici un bout de code d'un truc que je développe (en C#)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    if (!double.TryParse(e.FormattedValue.ToString(), out temp))
    {
        // Le tag de la colonne contient le message d'erreur à afficher (facultatif)
        dtgItems.Rows[e.RowIndex].ErrorText = dtgItems.Columns[e.ColumnIndex].Tag.ToString();
     
        e.Cancel = true;
    }

Discussions similaires

  1. [C#] Comment se positionner dans un DataGridview
    Par Cazaux-Moutou-Philippe dans le forum Windows Forms
    Réponses: 4
    Dernier message: 12/05/2006, 12h45
  2. Positionnement dans une arborescence en Excel VBA
    Par kernel57 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/11/2005, 19h10
  3. [VB6] Pb positionnement dans MsFlexGrid
    Par Jap dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 20/09/2005, 22h56
  4. Réponses: 9
    Dernier message: 16/05/2005, 17h43
  5. forcer le curseur à ce positionner dans une zone texte
    Par caton dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 08/04/2005, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo