begin process at 2010 02 09 20:13:24
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C#

 > 

Base de données

 > 

SQL Server

 > 

DataGridView Actualiser


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

DataGridView Actualiser

jeudi 13 décembre 2007 à 19:27:06 | DataGridView Actualiser

pkmnlio

Bonjour,

J'ai un petit probleme lors de l'actualisation de mon DataGridView, apres avoir fait un modification d'une des cellules, la requete d'update est bien effectuee et la modification prise en compte dans SQL Server.
Mais quand je reactualise il me reprend la precedente valeur, j'ai donc voulu recree le DataSource, DataMember, etc. en rappelant la fonction que j'avais creer pour le faire.
Malheuresement une fois a la ligne DataSource, j'ai une erreur "L'opération n'est pas autorisée dans ce gestionnaire d'événements."

Voici donc le code que j'utilise :
Dabors, le programme lance Actualiser, ensuite quand je vais sur l'onglet correspondant, il lance le MouseMove pour charger les donnees dans les ComboBox du DataGridView (seul moyen fonctionnel que j'aie trouvé).
Puis en cas de modification d'une des cellules, il lance normalement le RowValidated.
Jusque la pas de probleme donc, le probleme est après, si je rapasse sur l'onglet, pour recharger les ComboBox, il me remet l'ancienne valeur. Le DataGridView n'est donc pas modifié. J'ai donc remis apres l'update par RowValidated l'appel de Actualiser.
Avec pour retour l'erreur citée plus haut.

Pourriez-vous m'orienter vers une solution qui me permettrait de faire fonctionner mon code, voire une adaptation si vous avez plus simple que ce que j'ai deja fait.

PS : autre petit probleme, le ComboxColonne.DisplayIndex ne fonctionne pas la colonne se met a sa gise en 2eme dans mon cas.

Merci 10000 fois d'avance si vous arrivez a m'aider.

public void Actualiser()
        {// GridView Liste Client Onglet Liste Client
            dataGridViewClient.DataSource = new G_Clients(connexionSQLServer).Lire("nid");           
            dataGridViewClient.Columns["nid"].DisplayIndex = 0;
            dataGridViewClient.Columns["nid"].HeaderText = "Numero Client";
            dataGridViewClient.Columns["sNom"].DisplayIndex = 1;
            dataGridViewClient.Columns["sNom"].HeaderText = "Nom";
            dataGridViewClient.Columns["sPrenom"].DisplayIndex = 2;
            dataGridViewClient.Columns["sPrenom"].HeaderText = "Prenom";
            dataGridViewClient.Columns["sAdresse"].DisplayIndex = 3;
            dataGridViewClient.Columns["sAdresse"].HeaderText = "Adresse";
            dataGridViewClient.Columns["sVillecplt"].Visible = false;
            dataGridViewClient.Columns["nTelephone"].DisplayIndex = 5;
            dataGridViewClient.Columns["nTelephone"].HeaderText = "Telephone";
            dataGridViewClient.Columns["sEmail"].DisplayIndex = 6;
            dataGridViewClient.Columns["sEmail"].HeaderText = "E-mail";
            dataGridViewClient.Columns["nCotisation"].DisplayIndex = 7;
            dataGridViewClient.Columns["nCotisation"].HeaderText = "Cotisation";
            dataGridViewClient.Columns["nidLocalite"].Visible = false;

            // Creation seulement si la colonne n'as pas deja etee creee
            if (createcolumns == 0)
            {
                DataGridViewComboBoxColumn comboxColonne = new DataGridViewComboBoxColumn();

                dataGridViewClient.Columns.Add(comboxColonne);

                comboxColonne.DataSource = new G_Localite(connexionSQLServer).LireCB();
                comboxColonne.DisplayMember = "sVillecplt";
                comboxColonne.ValueMember = "nid";
                comboxColonne.HeaderText = "Localite";
                comboxColonne.Name = "CBLocalite";
                comboxColonne.DisplayIndex = 4;
            }
createcolumns = 1;
}


// Chargement Des Combobox du DataGridViewClient et DataGridViewListeDvd
        private void TabGestion_MouseMove(object sender, MouseEventArgs e)
        {
            // Clients
            if (TabGestion.SelectedIndex == 3)
            {
                int nbrcli = dataGridViewClient.RowCount;

                for (int i = 0; i < nbrcli; i++)
                {
                    dataGridViewClient.Rows[i].Cells["CBLocalite"].Value = dataGridViewClient.Rows[i].Cells["nidLocalite"].Value;
                }
            }
            // Dvd
            if (TabGestion.SelectedIndex == 1)
            {
                int nbrcli = dataGridViewListeDvd.RowCount;

                for (int i = 0; i < nbrcli; i++)
                {
                    dataGridViewListeDvd.Rows[i].Cells["CBRealisateur"].Value = dataGridViewListeDvd.Rows[i].Cells["nidRealisateur"].Value;
                    dataGridViewListeDvd.Rows[i].Cells["CBEditeur"].Value = dataGridViewListeDvd.Rows[i].Cells["nidEditeur"].Value;

                }
            }
        }


// Mise a jour du clients
        private void dataGridViewClient_RowValidated(object sender, DataGridViewCellEventArgs e)
        {
            if (dataGridViewClient.SelectedRows.Count > 0)
            {
                int cle = (int)dataGridViewClient.SelectedRows[0].Cells["nid"].Value;
                string nom = (string)dataGridViewClient.SelectedRows[0].Cells["sNom"].Value;
                string prenom = (string)dataGridViewClient.SelectedRows[0].Cells["sPrenom"].Value;
                string adr = (string)dataGridViewClient.SelectedRows[0].Cells["sAdresse"].Value;
                string tel = (string)dataGridViewClient.SelectedRows[0].Cells["nTelephone"].Value;
                string mail = (string)dataGridViewClient.SelectedRows[0].Cells["sEmail"].Value;
                decimal cot = (decimal)dataGridViewClient.SelectedRows[0].Cells["nCotisation"].Value;
                int loc = (int)dataGridViewClient.SelectedRows[0].Cells["CBLocalite"].Value;
                new G_Clients(connexionSQLServer).Modifier(cle, nom, prenom, adr, loc, tel, mail, cot);

                Actualiser();
            }
        }




Cette discussion est classée dans : string, columns, value, cells, datagridviewclient


Répondre à ce message

Sujets en rapport avec ce message

Afficher les données d'une Hashtable [ par billou_13 ] Voila ma petite question, ca doit être bidon mais je bataille dessus. Alors, je m'explique, j'ai une Hashtable contenant une Key et une Value en strin Probleme d'ecriture dans un fichier encore mieux explicite [ par francesdereve ] je veux avoir le chemin complet de mon fichier en lui donnant le nom.Dans mon texte box le chemin est affiché,mais je n'arrive pas à ecrire dans le fi problème fichier XML [ par marinounette ] Bonjour à toutes et à tous, tout d'abbord merci pour ce site, parce qu'il m'a déjà répondu à pas mal de questions...J'ai pourtant un problème que je n Postgressql et Ado [ par fabrizionnf ] Salut j'ai un probléme pour appeller une procédure stocké écrite en postgressql dans mon code C# , voila le code que j'ai rédigé et ensuite voilà ce q Export de donnees Access vers Excel [ par ignoux ] Bonjour à tous,Je developpe actuellement une application en C#. Je developpe à l'aide de #develop. J'ai une classe export qui doit gerer des exports d creation de tache outlook [ par bleuerouge ] Bonjour, j'ai créé un Webservice me permettant d'interagir avec une base Exchange via CDO, hors si mon webservice un fois renseigné m'écris bien dans Caprices de conversion [ par olibara ] Bonjour, j'essaye de m'acoutumer aux caprices de conversion en C# mais ce n'est pas évident voici quelques exemples de conversion d'une cellule d'un d correspondance entre date et string [ par ahmedcsharp ] Salut,je suis en train d'executer la requete suivante :string sql="select * from table1   where   (date) between '"+(this.txt_date.Value)+"' and  '"+( Problème de récupération de réponse de case à cocher dans un UltraWebGrid [ par jaisus ] Bonjour à tous, développeurs/euses !J'ai un petit problème comme je le souligne dans le sujet, et le tout en C#:J'ai un tableau Web qui s'affiche avec Property [ par eldim ] Bonjour,En VB.NET on peut passer des paramètres aux properties. Comment fait on en C# pour faire la même chose ?car j'ai essayé en faisant de la tradu


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,343 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales