Affichage avec c#

Résolu
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012 - 9 juil. 2012 à 21:24
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012 - 1 août 2012 à 14:30



bonjour
je suis débutant en c# est j'ai une liste des matières et des modules et je veux l'es afficher comme l'image suivante
quelqu'un peut m'aider svp ?
merci

37 réponses

Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
14 juil. 2012 à 21:06
Bonsoir, quand tu postes un code utilise la coloration syntaxique, voici une citation de NHenry:
[list= ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, celui-ci pour bien poser votre question ou encore celui-ci pour les PFE et autres exercices[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]En VB.NET pensez à activer Option Explicit et Option Strict (propriété du projet) et à retirer l'import automatique de l'espace de nom Microsoft.VisualVasic (onglet Références dans les propriétés du projet).
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list


titre1.Text  = row[0];// titre1.Text est de type string, row[0] est d'un autre type d'ou l'erreur


row[0] possède surement une méthode ToString(), ou une propriété Value qui aura elle même une méthode ToString(), qui comme son nom l'indique convertit le contenu en string.
Whismeril
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
14 juil. 2012 à 22:37
bonsoir
ok désolé pour le couleur mais pour la recherche j'ai cherché avant tout depuis une semaine j'ai rien trouve.
j'ai utilisé to string() mais sa pas marché c'est pour ça j'ai envoyé toute le code.
merci
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
14 juil. 2012 à 22:51
Au temps pour moi, je n'ai pas suffisamment regardé ton code, comme je le disais plus haut sql je ne connais pas, mais il mes semble que tu essaye de charger un tableau de string row avec une liste vide (voir commentaire en vert)
ListBox list = new ListBox(); //là tu déclares une liste
string [] row = null; 
//la liste n'est pas remplie 
while (affiche_titre.Read()) 
{ 
   //la liste n'est toujours pas remplie
   row new string[list.Items.Count]; //donc là list.Items.Count vaut 0, donc tu déclares row new string[0]
   for (int i = 0; i < list.Items.Count; i++) // et comme la liste est toujours vide, il ne se passe rien dans cette boucle
   { 
      row[i] = list.Items[i].ToString(); 
   } 


Par contre je ne connais pas le code pour remplir la liste, si tu cherches dans les codes sources, il y en a plein sur les bases de données, tu devrais trouver ton bonheur
Whismeril
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
14 juil. 2012 à 23:22
bonsoir

voila comment on remplie une listbox par exemple

j'ai testé et sa marche
listBox1.Items.Add(rs7["libelle_partie"].ToString());


mais j'arrive pas a sauvegarder le contenue de listbox1 dans un tableau pour parcourir
merci
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
14 juil. 2012 à 23:42
Bonsoir,

je ne vois pas l'intérêt de charger tes données d'abord dans une listBox, puis de les transférer vers un tableau juste pour parcourir le contenu.
La ListeBox.Items se parcours comme un tableau avec un boucle for ou foreach.

Mais il me parait plus logique de charger les données dans le tableau d'abord, puis d'associer le datasource au tableau pour l'affichage.

Si row set ton tableau, tu le rempli avec
rs7["libelle_partie"].ToString()
et ensuite
listBox1.DataSource = row;//et tes données sont affichées automatiquement


Pour améliorer ton code, à la place de tableaux, il existe des collections plus performantes, souples etc.. (mieux quoi) comme la List<T> (List<string> dans ce cas) qui s'affecte au DataSource de contrôle sans problème et qui offre des outils de recherche, tri, ajout, suppression etc sans avoir à prédire le nombre de données à stocker.

Whismeril
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
15 juil. 2012 à 12:26
bonjour,
je trouvé cette solution mais elle m'affiche seulement la valeur 0 de ma table c'est tout !!!
quelqu'un a la solution svp ?
 System.Data.SqlClient.SqlDataReader affiche_titre;
                System.Data.SqlClient.SqlCommand comm = new System.Data.SqlClient.SqlCommand("SELECT libelle_titre FROM titre", ConnectBase.getinstance().Connection());
                affiche_titre = comm.ExecuteReader();
                ListBox list = new ListBox();
                string[] Tab;
                while(affiche_titre.Read())
                   {
                       
                    list.Items.Add(affiche_titre["libelle_titre"].ToString());
                    
                       while (list.Items.Count > 0)
                       {
                           Tab = new string[list.Items.Count];
                           for (int i = 0; i < list.Items.Count; i++)
                           {
                               Tab[i] = list.Items[i].ToString();
                              
                               titre1.Text = Tab[0];
                               titre2.Text = Tab[1];
                               titre3.Text = Tab[2];
                               titre4.Text = Tab[3];
                           }



merci
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
15 juil. 2012 à 19:01
Bonsoir
c'est résolu le problème merci beaucoup a vous tous pour vos aide

il me reste une autre problème:
comment appeler une variable dans ma form1 dans une form5 ?
sachant que form1 appel form2 n’appel pas form5.
j'ai instancié form1 dans form5 mais sa marche pas!
merci
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
15 juil. 2012 à 20:21
Dans cette discussion, nous avons montré un exemple pour transférer l'instance en cours d'une Form vers une autre.

Le principe est le même sit ut veux transférer un int, string, double, ou tout autre type.

Je suppose que Form1 est le premier formulaire affiché par ton aplli, et si pour ouvrir Form5 tu passes par Form2, Form3 et Form4, il te faut transférer ta variable à chaque fois.

Il existe aussi les variables Static (variables globales à l'application) mais ce n'est pas dans l'esprit de C#, j'ai déjà lu quelque part que l'utilisation d'une variable Static révèle une erreur de conception. Cependant j'ai un code ou je n'ai pas trouver comment faire autrement....




Whismeril
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
16 juil. 2012 à 12:38
Bonjour
merci beaucoup Whismeril

connaissez vous comment je supprime les doublons dans listbox svp ?

j'affiche les resultat d'une requete dans une liste box mais elle affiche des doublons comment je peux les supprimer: voila ma listbox
listchapitre.Items.Add(affiche_titre["libelle_chap"].ToString());


merci
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
16 juil. 2012 à 13:33
Bonjour,
comme je te l'ai mis plus haut une ListBox est avant tout un objet d'affichage. Ce n'est pas une collection facile d'utilisation.

Voici comment faire à partir d'une List<T>, le résultat est sous forme d'une collection IEnumarble


            List<string> mesStrings = new List<string>();//je crée une List<string>
            mesStrings.Add("Texte");//je la remplie
            mesStrings.Add("igfroie");
            mesStrings.Add("fhzeouiz");
            mesStrings.Add("doublon");
            mesStrings.Add("virhugvr");
            mesStrings.Add("dzaofcuige");
            mesStrings.Add("fhzcedvzeouiz");
            mesStrings.Add("doublon");
            mesStrings.Add("doublon1");
            mesStrings.Add("doublon1");

            IEnumerable<string> sansDoublon = mesStrings.Distinct();//sortir les doublon ne prend qu'une ligne, attention si tu crees une liste d'objets perso, il faudra écrire comment les comparer


Voila le même exemple avec une listbox (enfin une méthode il peut y en avoir d'autres) dont il ne faut pas ordonner les données par ordre alphabétique (ce serait un peu plus facile, il suffirait de comparer chaque item avec le suivant)
            listBox1.Items.Add("Texte");
            listBox1.Items.Add("igfroie");
            listBox1.Items.Add("fhzeouiz");
            listBox1.Items.Add("doublon");
            listBox1.Items.Add("virhugvr");
            listBox1.Items.Add("dzaofcuige");
            listBox1.Items.Add("fhzcedvzeouiz");
            listBox1.Items.Add("doublon");
            listBox1.Items.Add("doublon1");
            listBox1.Items.Add("doublon1");
            
            int i = 0;
            //on ne peut pas faire de boucle for car si on enlève un bouble le nombre d'item change
            do
            {
                string texte = listBox1.Items[i].ToString();//je prends le texte à chercher
                listBox1.Items.RemoveAt(i);//je supprime l'enregistrement à l'index i
                bool existEncore = listBox1.Items.Contains(texte);//cherche s'il exite encore
                if (!existEncore) listBox1.Items.Insert(i, texte);//s'il n'existe plus je le remets
                i++;
            } while (i < listBox1.Items.Count) ;


Whismeril
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
23 juil. 2012 à 12:03
Bonjour ,
quelqu'un peut m'aider svp ?
j'ai ce bout de code et je veux que suivant le résultat de tableau créer
un tableau de zone de text des textbox et des cheklist et menu déroulant et envoyer chaque résultat vers la zone définit afin de remplir et de cocher les autres colonnes manuellement:
exemple jé deux résultats dans ma table:j'affecte le résultat dans textbox et devant des colonnes a remplier manuellement.

resultat1.text: colonne1 contient une zone text vide,colone2 contient cheklist,colone3 contient cheklist,


  public produit(string [] tab) : this()
{
    for (int i = 0; i < tab.Length; i++)


        if ((tab[i].ToString()) != "")
        {
            
            produit1.Text = (tab[0].ToString());
            produit2.Text = (tab[1].ToString());
            produit3.Text = (tab[2].ToString());
            produit7.Text = (tab[3].ToString());
            produit5.Text = (tab[4].ToString());
            produit6.Text = (tab[5].ToString());




Merci
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
25 juil. 2012 à 12:29
bonjour
personne a la solution ??
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
25 juil. 2012 à 13:42
Bonjour, peux tu dévelloper ta demande?


Whismeril
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
25 juil. 2012 à 14:29
Bonjour
je cherche comment a partir d'un resultat de requete de creer un tableau de 4 colonnes:

1-la première colonne contient le nombre de textbox pour affecter le resultat de requete.
2- dans la deuxième colonne crée des textbox vides
3-la 3éme et la 4eme clonnes des combobox

par exemple si j'ai 5 resultat je crée 5 textbox dans la colonne 1 contenant le resultat de requete dans la 1er colonne.

2eme colonne 5 textbox vides
3eme et 4eme conlonnes chacun 5 combobox
merci
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
26 juil. 2012 à 14:34
Bonjour
merci Whismeril vous m'avez aidez beaucoup vue que je suis sans encadreur donc c'est vous que vous venez m'encadrer :)

désolé comme je suis débutante donc tjs les problème, voila donc je pose beaucoup des questions prefois des chose banale mais bon !
voila donc j'ai un tableau qui contient trois champ que je dois remplir comme suite en meme temps mais j'arrive pas il me dit que Le nom de variable '@text_observation' a déjà été déclaré. Les noms de variables doivent être uniques dans un lot de requêtes ou une procédure stockée.

     private void button2_Click(object sender, EventArgs e)
        {
            string requete = "insert into observation (text_observation,traite,ecart) values(@text_observation,@traite,@ecart)";


            SqlCommand cmd = new SqlCommand(requete, ConnectBase.getinstance().Connection());
           
           
            cmd.Parameters.AddWithValue("text_observation", Ob1res1.Text);
            cmd.Parameters.AddWithValue("traite", Trait1_resp1.Checked);
            cmd.Parameters.AddWithValue("ecart", ecart_resp1.SelectedItem);
           
            cmd.Parameters.AddWithValue("text_observation",resp2.Text );
            cmd.Parameters.AddWithValue("traite", Trait2_resp2.Checked);
            cmd.Parameters.AddWithValue("ecart", ecart_resp2.SelectedItem);
            cmd.Parameters.AddWithValue("text_observation" , procedure1.Text); 
           cmd.Parameters.AddWithValue("text_observation" , procedure2.Text); 
            cmd.Parameters.AddWithValue("text_observation" , formation1.Text);
            cmd.Parameters.AddWithValue("text_observation" , formation2.Text); 
            cmd.Parameters.AddWithValue("text_observation" ,  enreg1.Text );
            cmd.Parameters.AddWithValue("text_observation", enreg2.Text);
            cmd.Parameters.AddWithValue("traite", Trait2_resp2.Checked);
            cmd.Parameters.AddWithValue("traite", Trait1_procedure1.Checked);
            cmd.Parameters.AddWithValue("traite", Trait2_procedure2.Checked);
            cmd.Parameters.AddWithValue("traite", Trait1_formation1.Checked);
            cmd.Parameters.AddWithValue("traite", Trait2_formation2.Checked);
            cmd.Parameters.AddWithValue("traite", Trait1_enreg1.Checked);
            cmd.Parameters.AddWithValue("traite", Trait2_enreg2.Checked);
            
            cmd.Parameters.AddWithValue("ecart", ecart_procedure1.SelectedItem);
            cmd.Parameters.AddWithValue("ecart", ecart_procedure2.SelectedItem);
            cmd.Parameters.AddWithValue("ecart", ecart_formation1.SelectedItem);
            cmd.Parameters.AddWithValue("ecart", ecart_formation2.SelectedItem);
            cmd.Parameters.AddWithValue("ecart", ecart_enreg1.SelectedItem);
            cmd.Parameters.AddWithValue("ecart", ecart_enreg2.SelectedItem);
            
            
            cmd.ExecuteNonQuery();
            cmd.Dispose();
        }


Grand merci
0
Whismeril Messages postés 19026 Date d'inscription mardi 11 mars 2003 Statut Contributeur Dernière intervention 20 avril 2024 656
26 juil. 2012 à 17:21
Je ne fais pas de sql, là je ne peux pas t'aider.


Whismeril
0
cs_coucou008 Messages postés 20 Date d'inscription lundi 9 juillet 2012 Statut Membre Dernière intervention 11 septembre 2012
1 août 2012 à 14:30
bonjour
toujours j'ai des problèmes c'est ça le débutant, pas d'avancement , pas de vacance.... :(

1-enfin pour convertir le type d'une variable en c# , j'ai les deux ligne suivantes : la première sa marche bien mais la deuxième non !!

si quelqu’un peut me dire ou est le pb svp merci?

2-avez vous la démarche:(installation et exemple) pour gérer les fichier pdf avec la bibliothèque itext pour c# .

merci
0
Rejoignez-nous