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

ASP.NET Discussion :

GridView (WebForm) et DataGridView(WinForm)


Sujet :

ASP.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Par défaut GridView (WebForm) et DataGridView(WinForm)
    Bonjour,

    Ce morceau de code marche bien en WinForm avec l'objet DataGridView, par
    Contre en WebForm avec l'objet GridView, le compilateur m'engeuel sur la ligne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    if (!(bool)list.Value[0] == Convert.ToBoolean(line.Cells[2].Text))
    Avec ce message d’erreur :
    La chaîne n'a pas été reconnue en tant que Boolean valide.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    foreach (var list in maListe)
         {
            if (list.Key == num)
                 {
                DataRow ligne = table1.Rows.Find(num);
     if (line.Cells[2].Value is bool)
    if (!(bool)list.Value[0] == Convert.ToBoolean(line.Cells[2].Text))
      ligne[1] = Convert.ToBoolean(line.Cells[2].Value);
         break;
              }
                            }
    Si quelqu’un a une piste, je suis preneur !

    Merci.

  2. #2
    Membre extrêmement actif
    Inscrit en
    Avril 2008
    Messages
    2 573
    Détails du profil
    Informations personnelles :
    Âge : 65

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 573
    Par défaut
    bonjour rahhou

    Cela est du surement au fait que le contenu à l' execution de la variable :line.Cells[2].Text n'est pas egal soit à :
    -soit à Boolean .TrueString(= la chaine literale "true")
    -soit à Boolean .FalseString(= la chaine literale "false")
    MSDN Doc :
    rubrique Convert, classe
    Toutefois, l'appel réel à une méthode de conversion particulière peut produire un des cinq résultats, selon la valeur du type de base au moment de l'exécution et du type de base cible.Ces cinq résultats sont :
    InvalidCastException. Cela se produit lorsqu'une conversion particulière n'est pas prise en charge.Un InvalidCastException est levé pour les conversions suivantes :

    FormatException. Cela se produit lorsque la tentative de conversion d'une valeur de chaîne en un autre type de base échoue parce que la chaîne n'est pas au format approprié.L'exception est levée pour les conversions suivantes :

    -Une chaîne à convertir en valeur Boolean n'est pas égale à Boolean ..TrueString ou Boolean .FalseString .

    la suite ....MSDN Doc
    rubrique Boolean ..TrueString, champ
    Représente la valeur booléenne true sous forme de chaîne. Ce champ est en lecture seule.
    Ce champ équivaut à la chaîne "True".
    Quand tu dis que le code compile en winform,cela m'intrique a moins que le dgv utilise n'est pas le meme....

    code c# en winform exemple:

    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
     
    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    using System.Globalization;
     
    namespace CSharpConvertToBoolean
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
     
                string str1 = "true";
     
                MessageBox.Show(Convert.ToBoolean(str1).ToString()); // ici il passe....
                string str2 = "false";
     
                MessageBox.Show(Convert.ToBoolean(str2).ToString()); // ici il passe....
     
     
                int n = 15;
                MessageBox.Show(Convert.ToBoolean(n).ToString()); // ici il passe....
     
                string numtochar = "1";
                MessageBox.Show(Convert.ToBoolean(numtochar).ToString()); // ici il geueule....
     
                string str3= "miki";
                MessageBox.Show(Convert.ToBoolean(str3).ToString()); // ici il geueule....
            }
        }
    }
    Les seules chaines string acceptees sont "true' ou "false".
    bon code...........................

  3. #3
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Par défaut GridView (WebForm) et DataGridView(WinForm)
    Bonjour,

    en faite, la ligne de code :

    Convert.ToBoolean(line.Cells[2].Text)) dans le cas du DataGridView (WinForm) récupère "true" ou "false" suivant la valeur de la Cells[2].
    la valeur de Cells[2] = 0 ou 1.


    Chose que je n'arrive pas faire (pour le moment !) avec une GridView en WebForm.

    quelque soit la valeur de Cells[2], le Convert.ToBoolean(line.Cells[2].Text)) renvoi une chaîne vide.

    Il y a quelques chose qui m’échappe !



    Merci et bon dimanche !

  4. #4
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mars 2008
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2008
    Messages : 11
    Par défaut GridView (WebForm) et DataGridView(WinForm)
    Bonjour,

    J'ai trouvé la réponse à mon problème !

    bool CheckBox1 = ((CheckBox)line.Cells[2].Controls[0]).Checked;

    Je récupère "true" ou "false" dans le CheckBox1.

    Si ça peut aider quelqu'un, on sait jamais.

    Cordialement,

Discussions similaires

  1. [Débutant] cacher colonne DataGridView WinForm
    Par zyhou dans le forum C#
    Réponses: 2
    Dernier message: 17/02/2012, 15h18
  2. [Débutant] Contrôle DataGridView WinForm
    Par zyhou dans le forum C#
    Réponses: 2
    Dernier message: 16/02/2012, 15h44
  3. Réponses: 4
    Dernier message: 20/01/2012, 10h23
  4. Réponses: 8
    Dernier message: 31/10/2010, 16h05
  5. Créer un composant identique à DataGridView WinForms
    Par chti_juanito dans le forum ASP.NET
    Réponses: 8
    Dernier message: 08/03/2010, 09h09

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