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 :

[C#] Mode édition DropDownList [Débutant(e)]


Sujet :

ASP.NET

  1. #1
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut [C#] Mode édition DropDownList
    Bonjour,

    je cherche a changer mettre DDL dans une colonne en mode Edition , (colonne titre Film)
    voila mon DataGrid
    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
     
    <asp:DataGrid id="MyDataGrid" runat="server" oncancelcommand="DataCancel" onupdatecommand="DataUpdate" AutoGenerateColumns="False" ForeColor="Black" BorderStyle="None" GridLines="Vertical" BorderWidth="1px" BorderColor="#DEDFDE" BackColor="White" CellPadding="4" AllowPaging="True">
    <FooterStyle backcolor="#CCCC99"></FooterStyle>
    <HeaderStyle font-bold="True" forecolor="White" backcolor="#6B696B"></HeaderStyle>
    <PagerStyle horizontalalign="Right" forecolor="Black" backcolor="#F7F7DE" mode="NumericPages"></PagerStyle>
    <SelectedItemStyle font-bold="True" forecolor="White" backcolor="#CE5D5A"></SelectedItemStyle>
    <AlternatingItemStyle backcolor="White"></AlternatingItemStyle>
    <ItemStyle backcolor="#F7F7DE"></ItemStyle>
    <Columns>
    <asp:editcommandcolumn Edittext="Edit" canceltext="Cancel" updatetext="OK" />
    <asp:TemplateColumn HeaderText="Image">
         <ItemTemplate>
        <asp:Image ImageUrl='<%# "../../central/affiche/" + DataBinder.Eval(Container.DataItem, "source") %>' runat="server" />
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="Titre du Film">
    <ItemTemplate>
    <asp:Label runat="server" text='<%# DataBinder.Eval(Container.DataItem, "titre") %> ' /> 
    </ItemTemplate>
    </asp:TemplateColumn>
    <asp:TemplateColumn HeaderText="Edition">
    <EditItemTemplate>
    <asp:DropDownList ID="oDropDownList" Runat="server" />
    </EditItemTemplate>
    </asp:TemplateColumn>
    </Columns>
    </asp:DataGrid>
    le code de ma commade Edit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    protected void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs e)
          {
              MyDataGrid.EditItemIndex = (int)e.Item.ItemIndex;
              OleDbCommand Mycommande = new OleDbCommand("select id, titre from film", myConnection);
              oDropDownList.DataSource = OleDbCommand.ExecuteReader();
              oDropDownList.DataValueField = "id";
              oDropDownList.DataTextField = "titre";
              oDropDownList.DataBind();
     
        BindGrid();
          }
    j'ai ce message d'erreur
    Compiler Error Message: CS0246: The type or namespace name 'oDropDownList' could not be found (are you missing a using directive or an assembly reference?)

    Source Error:

    Line 53: MyDataGrid.EditItemIndex = (int)e.Item.ItemIndex;
    Line 54: OleDbCommand Mycommande = new OleDbCommand("select id, titre from film", myConnection);
    Line 55: oDropDownList.DataSource = OleDbCommand.ExecuteReader();
    Line 56: oDropDownList.DataValueField = "id";
    Line 57: oDropDownList.DataTextField = "titre";
    Et pourtant je mets bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <EditItemTemplate>
    <asp:DropDownList ID="oDropDownList" Runat="server" />
    </EditItemTemplate>
    j'aimerais savoir ou je me suis trompée

    merci

  2. #2
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    Personne ne pourrait me donner un tit coup de main

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 26
    Points : 19
    Points
    19
    Par défaut
    Salut,

    essaie de rajouter ça ds ton code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    protected System.Web.UI.WebControls.DropDownList oDropDownList;

  4. #4
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Idem que Febus, c'est parce que le "lien" entre la page aspx et le aspx.cs n'est pas fait. Donc du coup il cherche si c'est pas un mot réservé et non pas un nom de WebForm.

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  5. #5
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    mais ce que j'avais compris on avais pas besoin de faire ca avec Webmatrix

    on m'aurait mentie

    j'ai autre petit problème quand je clique sur editer dans mon datagrid on me dit
    Exception Details: System.NullReferenceException: Object reference not set to an instance of an object.

    Source Error:

    Line 58: oDropDownList.DataSource = Mycommande.ExecuteReader(CommandBehavior.CloseConnection);
    mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    /* mode éditions*/
              protected void MyDataGrid_Edit(Object sender, DataGridCommandEventArgs e)
              {
                  MyDataGrid.EditItemIndex = (int)e.Item.ItemIndex;
                  OleDbCommand Mycommande = new OleDbCommand("select id, titre from film", myConnection);
                  // ouvre la connexion
                  myConnection.Open();
                  oDropDownList.DataSource = Mycommande.ExecuteReader(CommandBehavior.CloseConnection);
                  oDropDownList.DataValueField = "id";
                  oDropDownList.DataTextField = "titre";
                  oDropDownList.DataBind();
     
            BindGrid();
              }

  6. #6
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    ben voila j'ai trouvé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <EditItemTemplate>
    <asp:DropDownList id="oDropDownList" DataSource="<%# BindState() %>" DataTextField="titre" DataTextValue="id" runat="server" />
    </EditItemTemplate>
     
      public OleDbDataReader BindState()
            {
            OleDbCommand Mycommande = new OleDbCommand("select id, titre from film", myConnection);
            // ouvre la connexion
            myConnection.Open();
           return Mycommande.ExecuteReader(CommandBehavior.CloseConnection);
            }
    http://www.independza.com/admin_net/central/modif_affiche.aspx

  7. #7
    Expert éminent
    Avatar de Ditch
    Inscrit en
    Mars 2003
    Messages
    4 160
    Détails du profil
    Informations personnelles :
    Âge : 42

    Informations forums :
    Inscription : Mars 2003
    Messages : 4 160
    Points : 9 634
    Points
    9 634
    Par défaut
    Quand tu fais une page simple sous WebMatrix, il n'y a pas le code behind. Tout est dans la meme page. Donc dans ce cas oui il n'y a pas besoin. Des que tu passes en code behind, tu dois faire le lien.

    Didier Danse

    Most Valuable Profesionnal SharePoint
    Microsoft Certified Application Developer
    Mes articles sur developpez.com
    Mon site perso


  8. #8
    Membre émérite
    Avatar de bolo
    Inscrit en
    Novembre 2002
    Messages
    1 309
    Détails du profil
    Informations forums :
    Inscription : Novembre 2002
    Messages : 1 309
    Points : 2 695
    Points
    2 695
    Par défaut
    Citation Envoyé par Ditch
    Quand tu fais une page simple sous WebMatrix, il n'y a pas le code behind. Tout est dans la meme page. Donc dans ce cas oui il n'y a pas besoin. Des que tu passes en code behind, tu dois faire le lien.
    mais byzarrement quand je mets pas ta ligne ca ne marche

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Déctecter si un page SharePoint est en mode d'édition
    Par 28dev dans le forum SharePoint
    Réponses: 4
    Dernier message: 16/05/2008, 08h21
  2. Réponses: 4
    Dernier message: 05/06/2007, 12h38
  3. [JTable]Modifier le mode d'édition!
    Par sceadu16 dans le forum Composants
    Réponses: 7
    Dernier message: 18/01/2007, 11h34
  4. Balises code en mode d'édition avancé
    Par DonkeyMaster dans le forum Mode d'emploi & aide aux nouveaux
    Réponses: 3
    Dernier message: 17/01/2007, 10h46
  5. Comment passer en mode édition dans un TTreeView ?
    Par Invité dans le forum C++Builder
    Réponses: 6
    Dernier message: 08/08/2005, 13h37

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