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 :

ObjectDataSource et bind sur table


Sujet :

ASP.NET

  1. #1
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut ObjectDataSource et bind sur table
    J'ai actuellement un formulaire qui reçoit ses données d'une requête SQL. Je bind les données du formulaire via des textbox et leur propriété Text.

    Tout fonctionne bien dans le meilleur des mondes.

    J'aimerais me passer de cette requête et utiliser un objet ObjectDataSource. Ce dernier est configuré, accède bien à mes données et me renvoit le même type d'objet que ma requête SQL. Jusqu'ici tout va bien.

    Dans tous les tuto que j'ai vu, les données sont binder via un datagrid, detailView, etc.
    Est-ce possible de les binder directement sur la page de manière "violente" sans utiliser de gridView ou DetailView qui ne m'arrange pas en terme de structure ?
    J'aimerais donc binder si c'est possible sur une Table HTML ou ASP NET mais ne trouve guère de solution via un ObjectDataSource

    Merci d'avance

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Février 2011
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2011
    Messages : 8
    Par défaut
    Bonjour jbrasselet,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:TextBox runat="server" ID="ID de ta textBox" DatasourceID="NomDeTonObjectDataSource" />
     
    <asp:ObjectDataSource ID="NomDeTonObjectDataSource" runat="server" SelectMethod="NomDeTaMéthodeQuiRenvoieLesDonnées"  TypeName="Emplacement de ta méthode"></asp:ObjectDataSource>
    Cordialement

  3. #3
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Par défaut
    Citation Envoyé par Azirius Voir le message
    Bonjour jbrasselet,


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <asp:TextBox runat="server" ID="ID de ta textBox" DatasourceID="NomDeTonObjectDataSource" />
     
    <asp:ObjectDataSource ID="NomDeTonObjectDataSource" runat="server" SelectMethod="NomDeTaMéthodeQuiRenvoieLesDonnées"  TypeName="Emplacement de ta méthode"></asp:ObjectDataSource>
    Cordialement
    Mais cette méthode oblige à créer un ObjectDataSource pour chaque controle non?


    Quand je remplis mon formulaire avec des données je procède comme ceci:

    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
    public bool GetInfos(String Parametre)
            {           
                DbDataReader DbReader;
                bool result = false;
     
                SqlConnection sqlconn = new SqlConnection();
                sqlconn.ConnectionString = ConfigurationManager.ConnectionStrings["Connection"].ConnectionString;
                sqlconn.Open();
     
                try
                {
                    SqlCommand SqlComm = sqlconn.CreateCommand();
     
                    SqlComm.CommandText = @"REQUETE";
                    SqlComm.Parameters.AddWithValue("@Parametre", Parametre);
     
                    DbReader = SqlComm.ExecuteReader();
                    result = DbReader.Read();
     
                    this.Nom_Article = DbReader["Nom_Article"].ToString();
                    this.Famille_Produit = DbReader["Famille_Produit"].ToString();
                    this.Quantite_Utilisee = DbReader["Quantite_Utilisee"].ToString();
                    this.Unite_Stockage = DbReader["Unite_Stockage"].ToString();
                    this.FDS = (Boolean)DbReader["FDS"];
                    if (DbReader["Pression_Vapeur"] == DBNull.Value)
                    {
                        this.Pression_Vapeur = null;
                    }
                    else
                    {
                        this.Pression_Vapeur = DbReader["Pression_Vapeur"].ToString();
                    }
                                   this.Code_Risque = RecupRisques(this.ID_Article);
                    this.CODFOR = DbReader["CODFOR"].ToString();
                    if (DbReader["Code_UN"] == DBNull.Value)
                    {
                        this.Code_UN = null;
                    }
                    else
                    {
                        this.Code_UN = DbReader["Code_UN"].ToString();
                    }
                                   this.QuantiteActuelle = int.Parse(DbReader["Quantite"].ToString());
                    this.Composant = RecupCompo(this.ID_Article);
                }
                catch (Exception e)
                {
                    throw new Exception("La récupération des données de la base à échouée : " + e.Message);
                }
                finally
                {
                    sqlconn.Close();
                }
                return result;
            }
    au lieu de passer par des attributs de classe comme moi, tu peux assigner directement les valeurs à tes controles.

    Je sais pas si c'est ce que tu veux mais je suis passé par la.

  4. #4
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Merci de votre retour.
    Papouuu, je cherche à passer par un objectDataSource. Ta solution ne me convient donc pas
    Azirius, je pense en effet que ta méthode demanderait un ObjectDataSource par controle. Le but est d'en avoir un unique sur ma page.

    J'ai voulu passer par un formview mais cela ne me convient pas vraiment car il est difficile ensuite de faire des controles sur les objets de mon formview via les ID (ou alors je m'y prend mal ce qui est une possibilité)

    Si quelqu'un a une idée...

  5. #5
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Par défaut
    J'ai laissé tomber les formView et autres au cause de ça, mais tu peux t'en sortir avec

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    FormView.FindControl("iddetoncontrole")
    Mais c'est plus long à gérer

  6. #6
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Oui en effet, au pire je peux gérer comme ça mais c'est vrai que c'est lourd.
    C'set pourquoi je me demandais s'il était possible de passer par autre chose tout en utilisant un ObjectDataSource.

  7. #7
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Septembre 2009
    Messages
    220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Septembre 2009
    Messages : 220
    Par défaut
    Si tu trouves un solution je suis preneur!

  8. #8
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Pas d'autres idées ? C'est peut être impossible

  9. #9
    Membre Expert
    Avatar de jbrasselet
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Mars 2006
    Messages
    1 022
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 022
    Par défaut
    Azirius pour info ta méthode ne fonctionne pas telle quelle. Le binding de l'ObjectDataSource n'est même pas appelé ;-)

Discussions similaires

  1. Réponses: 2
    Dernier message: 27/04/2010, 23h46
  2. Réponses: 1
    Dernier message: 01/11/2009, 16h50
  3. table dynamique et binding sur colonnes dynamique
    Par *alexandre* dans le forum JSF
    Réponses: 3
    Dernier message: 11/09/2009, 10h59
  4. Erreur 145 sur table mysql
    Par ramses83 dans le forum Requêtes
    Réponses: 1
    Dernier message: 06/09/2007, 21h09
  5. [Sybase] Utilisation indexes sur table Proxy
    Par MashiMaro dans le forum Sybase
    Réponses: 2
    Dernier message: 20/02/2004, 10h20

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