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 :

[Listbox] [Repeater] rafraichir la listbox sur modifications extérieures


Sujet :

ASP.NET

  1. #1
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut [Listbox] [Repeater] rafraichir la listbox sur modifications extérieures
    Bonjour,

    J'ai une listbox liée à un datasource avec l'id en ValueField :

    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
     
    <asp:SqlDataSource ID="SqlDataSource1" runat="server" 
            ConnectionString="<%$ ConnectionStrings:ConnectionString %>" 
            SelectCommand="
    SELECT   Famille.Chrono, Famille.Ordre, Famille.Disponibilite, Famille.Image, ISNULL(Lien_Langue.LibC, 'Pas de libelle en fr') AS LibC
    FROM     Famille LEFT OUTER JOIN Lien_Langue ON Famille.Chrono = Lien_Langue.IdFamille
    WHERE    (Lien_Langue.IdLangue IN
                     (SELECT   Chrono
                     FROM      Langue
                     WHERE     (LabelC = 'fr')))
    UNION
    SELECT   Chrono, Ordre, Disponibilite, Image, 'Pas de libelle' AS LibC
    FROM     Famille AS Famille_1
    WHERE    (Chrono NOT IN
                     (SELECT   IdFamille
                     FROM      Lien_Langue AS Lien_Langue_1
                     WHERE     (IdFamille IN
                                       (SELECT   Chrono
                                       FROM      Famille AS Famille_2))))">
        </asp:SqlDataSource>
     
        <asp:ListBox ID="ListBox1" runat="server" AutoPostBack="True" 
        DataSourceID="SqlDataSource1" DataTextField="LibC" DataValueField="Chrono" 
        Width="300px" ValidationGroup="GroupeDeValidation"></asp:ListBox>
    J'ai ensuite un SqlDataSource2 avec un paramètre pour le Select :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <SelectParameters>
        <asp:ControlParameter ControlID="ListBox1" Name="Chrono" 
        PropertyName="SelectedValue" Type="Int32" />
    </SelectParameters>
    bon, classique, mais mon problème c'est que si je fais un insert ou delete dans mon SqlDataSource2, qui modifie une table du SqlDataSource1, je voudrais rafraichir aussi l'affichage du DS1 dans ma listbox.

    on m'a conseillé de faire un DataBind() dans le Page_Load en cas de post back mais dans ce cas, ça me dé-sélectionne ma listbox, du coup ma requête liée n'affiche rien dans ses contrôles, mais en plus ma listbox ne s'est pas rafraichie !!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    protected void Page_Load(object sender, EventArgs e)
    {
        if ( Page.IsPostBack )
        {
            SqlDataSource1.DataBind();
            ListBox1.DataBind();
        }
    }
    merci d'avance pour toute piste !!

  2. #2
    Membre confirmé
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    109
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2006
    Messages : 109
    Par défaut
    On m'a confirmé que c'était bien databind() qui devait me rafraichir les données, mais chez moi ça ne fais rien !
    Il n'y a rien d'autre à mettre, des propriétés à lier peut-être ?
    J'ai vu une propriété ValidationGroup dans ma listbox, ça pourrait me servir ?

Discussions similaires

  1. [NSIS] Comment rafraichir une listBox ?
    Par maanifiik dans le forum Windows
    Réponses: 7
    Dernier message: 08/04/2010, 18h01
  2. Rafraichir une ListBox
    Par sissi00000 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 17/07/2008, 17h30
  3. Rafraichir une ListBox
    Par blasme dans le forum ASP.NET
    Réponses: 10
    Dernier message: 07/04/2008, 15h53
  4. rafraichir une listbox
    Par yedid dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 21/08/2007, 11h21
  5. Réponses: 1
    Dernier message: 22/04/2006, 19h02

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