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 :

Exception sur un instance


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 132
    Par défaut Exception sur un instance
    Bonjour,

    je reçois le message d'erreur (La référence d'objet n'est pas définie à une instance d'un objet) avec cette ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    uwg.Rows[0].Cells[0].Value = "ALO";
    Je sais ce que veux dire ce message d'erreur, cependant je ne comprend pas pourquoi qu'il me donne ceci.
    Cependant, si je mets la ligne en commentaire, je ne comprend pas pourquoi je peux accéder à mon instance (uwg) préalablement déclaré avec cette ligne exemple et je ne reçois aucune erreur.

    Merci d'avance

    Gabriel Deschênes

  2. #2
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Salut,

    C'est quoi comme objet "uwg"?

    Ce serait pas à cause de "Cells[0]"?

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  3. #3
    Membre expérimenté
    Homme Profil pro
    Freelance
    Inscrit en
    Février 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 312
    Par défaut
    uwg doit etre une table
    avant d'acceder a ces cellules il faut les crées
    par exemple si je veux creeér une table de 2ligne et de 2 colonne (ca fait 4 cells)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    table t = new table();
    t.rows.add(new tablerow());//je crée une ligne
    t.rows[0].add(new tablecells());//je crée une cellule dans ma première ligne, que j'ai créé au dessus
    t.rows[0].add(new tablecells());
    t.rows.add(new tablerow());//je crée une autre ligne
    t.rows[1].add(new tablecells());
    t.rows[1].add(new tablecells());
    j'ai maintenant accès à t.rows[0].cells[0], vu qu'elle est crée, en revanche je n'ai pas accès à t.rows[0].cells[2] qui n'est pas encore créé

    PS: quand je dit n'a pas accès c'est que ca plante

  4. #4
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Est-ce que l'index des cellules ne commence pas à 0?
    "Winter is coming" (ma nouvelle page d'accueil)

  5. #5
    Membre chevronné
    Inscrit en
    Décembre 2008
    Messages
    256
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations forums :
    Inscription : Décembre 2008
    Messages : 256
    Par défaut
    Je pense que c'est assez simple :
    - soit uwg.Rows[0] est null, et dans ce cas on ne peut pas lui appliquer la propriété Cells
    - soit uwg.Rows[0].Cells[0] est null et dans ce cas on ne peut pas lui appliquer la propriété Value

  6. #6
    Membre expérimenté
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Billets dans le blog
    4
    Par défaut
    c'est pas la propriété .text qu'il faut utiliser pour remplir les données d'un dg?

    de plus, il me semble que pour affecter une cellule il faut d'abord instancier l'objet cellule.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Table t = new Table();
    TableRow tr = new TableRow();
    TableCell tc = new TableCell();
     
    tc.Text = "monTexte";
    tr.Control.Add(tc);
    t.Control.Add(tr);
    Le système d'implémentation d'une table par code est inversé, on déclare les objets, on affecte les valeur, aux cellules, qu'on affectes elles mêmes à la ligne, qui elle même est défini comme objet de la table.

    Teste comme ça, ça devrait fonctionner.
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

  7. #7
    Membre expérimenté
    Homme Profil pro
    Freelance
    Inscrit en
    Février 2008
    Messages
    312
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 312
    Par défaut
    que ce soit une table(propriété text) ou un datagrid (propriété value), le problème est le meme
    Il ne créé pas ses cellules ou ses ligne avant d'y accéder donc les objets de la table sont nul
    Je ne pense pas qu'il a grand chose à rajouté...

  8. #8
    Expert confirmé
    Avatar de Immobilis
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mars 2004
    Messages
    6 559
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 559
    Par défaut
    Citation Envoyé par bobby51 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    table t = new table();
    t.rows.add(new tablerow());//je crée une ligne
    t.rows[0].add(new tablecells());//je crée une cellule dans ma première ligne, que j'ai créé au dessus
    t.rows[0].add(new tablecells());
    t.rows.add(new tablerow());//je crée une autre ligne
    t.rows[1].add(new tablecells());
    t.rows[1].add(new tablecells());
    j'ai maintenant accès à t.rows[0].cells[0], vu qu'elle est crée, en revanche je n'ai pas accès à t.rows[0].cells[2] qui n'est pas encore créé

    PS: quand je dit n'a pas accès c'est que ca plante
    Si les cellules sont indexées à partir de 0 tu n'auras jamais accès à "t.rows[0].cells[2]". Tu le dis toi-même elle n'est pas encore créée.

    A+
    "Winter is coming" (ma nouvelle page d'accueil)

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    132
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Mars 2009
    Messages : 132
    Par défaut
    merci pour les réponses.

    Pour des précisions, le uwg est un grid. Cependant, j'ai modifié mon code notamment en regardant vos réponses sur le post, mais il me reste un petit détail. Je crois que tout est en ordre, mais cependant, lors de la compilation, il me dise qu'il n'y aucun "data to display", mais pourtant je donne bel et bien une valeur à la cellule. Voici mon code pour ce qui est du ultrawebGrid:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    UltraGridRow ugRow = new UltraGridRow();
    uwg.Rows.Add(ugRow);
    UltraGridCell ugCell = new UltraGridCell();                       
     
    uwg.Rows[Convert.ToInt32(rowTest["DTC01"])].Cells.Add(ugCell);
    uwg.Rows[Convert.ToInt32(rowTest["DTC01"])].Cells[Convert.ToInt32(rowTest["DTC02"])].Value="allo";
     
    wb.ContentPane.Controls.Add(uwg);
    //note sur les variables
    wb = un controle d'infragistics pour afficher la grid (uwg)

    Cependant, meme apres avoir ajouter ALLO dans la premiere cellule, rien ne s'affiche

    Merci pour l'aide future et j'éditerai ce post si mes recherches aboutissent sur quelques choses.

    Gabriel Deschênes

  10. #10
    Membre expérimenté
    Avatar de Lyche
    Homme Profil pro
    Administrateur de base de données
    Inscrit en
    Janvier 2007
    Messages
    2 523
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Janvier 2007
    Messages : 2 523
    Billets dans le blog
    4
    Par défaut
    Je crois que tu fais quelques confusions. Tu n'as pas a déclarer de valeur pour ta row, elles s'implémentent les unes après les autres dans l'ordre ou tu les définies. C'est à dire que si tu veux la définir un id, un nom, une valeur à ta cellule, il te faut, tout faire avant de la placer dans ton contrôle.

    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
     
    UltraGridCell ugCell = new UltraGridCell();                       
    UltraGridRow ugRow = new UltraGridRow();
     
    ugCell.Text = "allo";
    ugCell.ID = "monId";
    ugCell.Name = "monNomCellule";
    //ici, si tu souhaite placer plusieures cellules par row, il te faut instancier chaque nouvelle cellule et définir chaque attribut de la cellule
     
    ugRow.Cells.Add(ugCell); //je n'ai jamais utilisé de uwg, vérifie si ce n'est pas plutot :
    //ugRow.Control.Add(ugCell);
     
    //une fois la cellule créer et affectée à la row, tu affectes la row à ton uwg.
    uwg.Rows.Add(ugRow);
    //encore une fois, vérifie que ce ne soit pas un uwg.Control.Add(ugRow);
     
    wb.ContentPane.Controls.Add(uwg);
    Cordialement.
    Rejoignez la communauté du chat et partagez vos connaissances ou vos questions avec nous

    Mon Tutoriel pour apprendre les Agregations
    Consultez mon Blog SQL destiné aux débutants

    Pensez à FAQ SQL Server Ainsi qu'aux Cours et Tuto SQL Server

Discussions similaires

  1. Réponses: 5
    Dernier message: 28/10/2005, 16h27
  2. Réponses: 5
    Dernier message: 07/07/2005, 10h20
  3. [vb.net] exception sur monForm.Show
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 04/07/2005, 12h27
  4. Exception sur Java Web Start
    Par Le Bressan dans le forum JWS
    Réponses: 5
    Dernier message: 01/02/2005, 10h52
  5. [Tomcat] Exception sur JSP
    Par Malaussene dans le forum Tomcat et TomEE
    Réponses: 7
    Dernier message: 10/09/2004, 08h43

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