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

C# Discussion :

Charger la premiere colonne d'un datagrid [Débutant]


Sujet :

C#

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut Charger la premiere colonne d'un datagrid
    Bonjour,

    Je débute en c# et j'essaie de faire un tourner un code que j'ai trouvé sur le net.

    Mon soucis est que je voudrais que la valeur de la premiere ligne du datagrid, se charge automatiquement au lancement de la form dans un textbox.

    J'ai ce code qui fonctionne bien, mais il n'affiche aucune valeur dans le textbox, si je ne clique pas sur une ligne du datagrid.

    Le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
     
    namespace SQLiteTEST
    {
        public partial class Form1 : Form
        {
            private SQLiteConnection connection;
            private String SQLSelect = "SELECT * FROM User";
     
            public Form1()
            {
                InitializeComponent();
                connection = new SQLiteConnection("Data Source=BddTest.s3db;Version=3;");
            }
     
            private void search()
            {
                dataGrid1.RowEnter -= dataGrid_RowEnter;
     
                if (connection.State != ConnectionState.Open)
                    connection.Open();
     
                SQLiteCommand command = connection.CreateCommand();
                command.CommandText = SQLSelect;
     
                DataTable dt = new DataTable();
                SQLiteDataAdapter da = new SQLiteDataAdapter(command);
                da.Fill(dt);
                dataGrid1.DataSource = dt;
                connection.Close();
                dataGrid1.RowEnter += dataGrid_RowEnter;
            }
     
            private void dataGrid_RowEnter(object sender, DataGridViewCellEventArgs e)
            {
                int ID = int.Parse(dataGrid1.Rows[e.RowIndex].Cells[0].Value.ToString());
                String Data1 = (String)dataGrid1.Rows[e.RowIndex].Cells[1].Value;
                txtId.Text = ID.ToString();
                txtName.Text = Data1;
            }
     
            private void Form1_Load(object sender, EventArgs e)
            {
                search();
            }
     
            private void dataGrid_DataError(object sender, DataGridViewDataErrorEventArgs e)
            {
                MessageBox.Show("erreur");
            }
     
            private void button1_Click(object sender, EventArgs e)
            {
                var form_programme = new Form2();
                form_programme.Show();
                this.Hide();
            }
     
            private void dataGrid1_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
     
            }
     
            private void txtName_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            private void txtId_TextChanged(object sender, EventArgs e)
            {
     
            }
     
            private void dataGrid_CellContentClick(object sender, DataGridViewCellEventArgs e)
            {
     
            }
     
        }
    }
    Comment je pourrais faire pour que la premiere ligne s'affiche dans le textbox comme si je cliquais dessus ?

    Merci d'avance pour vos conseils ou exemple de code.

  2. #2
    Membre confirmé Avatar de WaterTwelve21
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Décembre 2015
    Messages
    270
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Décembre 2015
    Messages : 270
    Points : 461
    Points
    461
    Par défaut
    Bonjour ,
    Peux tu reformuler ta question s'il te plait ?

    J'ai tout retourné dans tout les sens , j'arrive toujours pas à comprendre ce que tu souhaites réellement faire
    throw new NoSignatureException();

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    Bonjour,

    Le but de ma demande est de lire une colonne dans la bdd ou se trouverait un mot de passe et de le comparer à la saisie de l'utilisateur.

    Je sait ce n'est pas évident

    D'autant plus que le code fonctionne convenablement !

    Fonctionnement du code :
    - A l'ouverture de la form le datagrid se rempli avec les données de la bdd --> ok
    - Et sélectionne automatiquement la première row du datagrid et affiche les données dans les textbox concerné --> ok

    Donc tout fonctionne bien !!!

    Pourquoi lorsque j'ajoute une form au projet genre form2 et que je modifie dans program.cs l'ouverture de la form par défaut qui devient form2
    et qui est la copie de la form1, il faut que je clique sur la premier row pour faire apparaitre dans les texbox concerné les données de la bdd ?

    Alors que sur form1 c'est automatque : ouverture --> chargement datagrid --> affichage dans les textbox sans aucune manipulation.
    Biensur si je met un bouton avec search() dedans j'obtiens le fonctionnement voulu, mais pas automatiquement.

    J'ai comparer les deux form et elle sont identique au niveau du code, peut être est ce du à un bug ?

    Merci à ceux qui mon lu jusqu'au bout, et qui essaie de m'aider

    Ou alors existe t'il une méthode plus simple pour ouvrir une colonne et une ligne dans la bdd ?

  4. #4
    Membre habitué
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    329
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 329
    Points : 151
    Points
    151
    Par défaut
    Finalement j'ai trouvé une solution, peut être pas la plus élégante mais ça fonctionne...

    J'ai modifié :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            public Form1()
            {
                InitializeComponent();
                connection = new SQLiteConnection("Data Source=BddTest.s3db;Version=3;");
            }
    en

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
            public Form1()
            {
                InitializeComponent();
                connection = new SQLiteConnection("Data Source=BddTest.s3db;Version=3;");
                search();
            }
    Voila, voila...

    Merci à ceux qui mon lut jusqu'au bout et tenté de me comprendre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 02/05/2005, 11h57
  2. [VB.NET]Colorier l'en-tête d'une colonne d'un DataGrid
    Par San Soussy dans le forum ASP.NET
    Réponses: 5
    Dernier message: 08/12/2004, 17h08
  3. [C#] Ajout de colonne dans un DataGrid
    Par pc152 dans le forum Windows Forms
    Réponses: 3
    Dernier message: 22/09/2004, 17h17
  4. [VB.NET] Accès à une colonne d'un DataGrid
    Par fabthebreton dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/06/2004, 12h47
  5. [C#] Cacher une colonne d'une dataGrid
    Par royrremi dans le forum ASP.NET
    Réponses: 2
    Dernier message: 27/05/2004, 16h00

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