Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Ajout Item dans DDL [ WebForms / UserControl ] (Sabine26)

lundi 5 mai 2008 à 10:20:27 | Ajout Item dans DDL

Sabine26

Bonjour,

Voilà je souhaiterai ajouter un Itel "Add a new Macro Brick" en début de DDL.
Pour cela je dispose d'un tableau avec un bouton "Update". Quand je clique dessus, une des colonnes pour la ligne cliquée se met en DDL.

Voilà ce que je fais (et qui ne fonctionne pas!):
-----------------------------------------------------------------------------
Protected Sub MappingList_RowUpdating(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewUpdateEventArgs) Handles MappingList.RowUpdating

        Dim AddMacro As ListItem
        AddMacro.Value = 0
        AddMacro.Text = "Add a new macro-brick"

        CType(MappingList.FindControl("ReferenceList"), DropDownList).Items.Insert(0, AddMacro)

End Sub
-----------------------------------------------------------------------

et voilà le code ASP:

-------------------------------------------------------------------------
<asp:GridView ID="MappingList" runat="server" AllowPaging="True" AutoGenerateColumns="False"
        DataSourceID="MappingListDB" DataKeyNames="NAT,SRCKEY"
        PagerSettings-Mode="NumericFirstLast"
        PagerSettings-PageButtonCount='<%$ AppSettings:GridViewPageButtonCount %>'
        PageSize='<%$ AppSettings:GridViewPageSize %>'
        AllowSorting="True">
        <Columns>
            <asp:CommandField ShowEditButton="True" />            
            <asp:TemplateField HeaderText="RegExtSales Brick"  SortExpression="SRCLAB">
                <ItemTemplate>
                    <%# Eval("SRCLAB")%> -  <%#Eval("SRCKEY")%>
                </ItemTemplate>
             </asp:TemplateField>
            <asp:TemplateField HeaderText="Macro Brick" SortExpression="DESTLAB" >
                <ItemTemplate>
                    <%#Eval("DESTLAB")%> - <%#Eval("DESTKEY")%>
                </ItemTemplate>
                <EditItemTemplate>
                    <asp:DropDownList ID="ReferenceList" runat="server" DataSourceID="ReferenceListDB"
                     DataTextField="REFLAB" DataValueField="REFKEY"
                     SelectedValue='<%#Bind("DESTKEY")  %>' TabIndex="0">
                     </asp:DropDownList>
                </EditItemTemplate>
            </asp:TemplateField>            
        </Columns>
</asp:GridView>  
--------------------------------------------------------------------------

Je pense que c'est le Ctype qui ne permet pas de retourner ce que je souhaite!

Merci pour votre aide

Sabine

mercredi 7 mai 2008 à 16:10:25 | Re : Ajout Item dans DDL

jesusonline

Membre Club Administrateur CodeS-SourceS
Réponse acceptée !
Bonjour,

CType(MappingList.FindControl("ReferenceList"), DropDownList).Items.Insert(0, AddMacro)

MappingList contient une collection de ligne qui contiennent le controle ReferenceList, FindControl ne peux donc savoir quelle controle renvoyer (puiqu'il y en a plusieurs) ...

Tu peux essayer de passer par la propriété items du gridview afin de faire le FindControl sur la ligne désiré, ou tu peux passer par l'événement itemDataBound du gridview (la 2ème solution est la solution habituelle).

Ou sinon, tu peux rajouter ton item dans la partie aspx, avec la propriété appendDataBoundItem à true, je pense que ca fait ce que tu as envie.


Cyril - MSP - MCPD ASP.net & MCTS SQL - Consultant indépendant

mardi 13 mai 2008 à 15:54:32 | Re : Ajout Item dans DDL

Sabine26

Bonjour,
Excuse moi de répondre à la suite de ce mail, mais j'ai urgemment besoin d'aide.
Je veux éxécuter 2 requetes à la suite et je finis par avoir un "Illegal name/number variable" sur le dernier excecuteNonQuery(), et je comprends pas pkoi, je l'ai déjà fais autre part cette enchainement et ça marche très bien!!!


Voici ma fonction... désolé pour la lisibilité!

Shared Function UpdateMapping(ByVal NAT As String, ByVal SRCKEY As String, ByVal UsrNam As String, ByVal Win_Log As String, ByVal ResCod As String, ByVal HDO As Boolean, ByVal BUM As Boolean, ByVal SLM As Boolean, ByVal RGM As Boolean, ByVal DTM As Boolean, ByVal REP As Boolean, ByVal MAIL As String) As Integer

        Dim connectionString As String
        Dim queryString As String
        Dim queryString2 As String
        Dim queryStringHis As String
        Dim queryString3 As String
        Dim rowsAffected As Integer = 0
        Dim rowsAffected2 As Integer = 0

        Dim dbConnection As IDbConnection
        Dim dbCommand As IDbCommand
        Dim dbParam_NAT As IDataParameter
        Dim dbParam_SRC As IDataParameter
        Dim dbParam_HDO As IDataParameter
        Dim dbParam_BUM As IDataParameter
        Dim dbParam_SLM As IDataParameter
        Dim dbParam_RGM As IDataParameter
        Dim dbParam_DTM As IDataParameter
        Dim dbParam_REP As IDataParameter
        Dim dbParam_MAIL As IDataParameter
        Dim dbParam_User As IDataParameter
        Dim dbParam_WINLOG As IDataParameter
        Dim dbParam_USRNAM As IDataParameter
        Dim dbParam_RESCOD As IDataParameter
        Dim dbParam_UpdDate As IDataParameter

        ' Query definition for the history
        queryStringHis = _
                        "INSERT INTO REF_TMS_USR_ROL_HIS(NAT, USR, USR_S_LAB, USR_L_LAB, WIN_LOG, USR_RES, USR_NAM, HDO,BUM, SLM,RGM, DTM, REP,EMAIL, ZT_UPD_BY, ZT_UPD_DATE, ZT_ETL_DATE, ZT_AFFILIATE, ZT_FLUX_ID, ZT_EXEC_ID,ZT_SOURCE_ID)" & _
                        " SELECT NAT, USR, USR_S_LAB, USR_L_LAB, WIN_LOG, USR_RES, USR_NAM, HDO, BUM, SLM, RGM, DTM, REP, EMAIL, :UPD_BY, :UPD_DATE , ZT_ETL_DATE, ZT_AFFILIATE, ZT_FLUX_ID, ZT_EXEC_ID, ZT_SOURCE_ID FROM REF_TMS_USR_ROL WHERE NAT = :NAT AND USR = :USR "

        ' Query definition for the update of REF_TMS_USR_ROL
        queryString = "UPDATE REF_TMS_USR_ROL " & _
                        " SET  HDO = :HDO, BUM = :BUM, SLM = :SLM, RGM = :RGM, DTM = :DTM, REP = :REP, EMAIL = :MAIL,WIN_LOG=:WINLOG, USR_NAM = :USRNAM,USR_RES = :RESCOD " & _
                        " WHERE NAT = :NAT AND USR = :USR"

        ' Query definition for the update of REF_USR
        queryString2 = "UPDATE REF_USR " & _
         "SET EMAIL= :MAIL" & _
         "WHERE NAT= :NAT AND USR_NT_ID= :WINLOG "

        ' Query definition for REF_LAB
        ' queryString3 = "UPDATE REF_LAB" & _
        ' "SET VAL_L_LAB=:USRNAM" & _
        '"WHERE VAL=:USR AND NAT=:NAT"


        Try
            ' Retrieve connection string from the configuration file
            connectionString = ConfigurationManager.ConnectionStrings("SIMSDWH").ConnectionString
            dbConnection = New OracleConnection(connectionString)

            dbCommand = dbConnection.CreateCommand()

            ' To insert into the historic table REF_TMS_USR_ROL_HIS
            dbCommand.CommandText = queryStringHis

            ' Parameters definition
            dbParam_NAT = New OracleParameter(":NAT", System.Data.DbType.String)
            dbParam_NAT.Value = NAT
            dbCommand.Parameters.Add(dbParam_NAT)

            dbParam_SRC = New OracleParameter(":USR", System.Data.DbType.String)
            dbParam_SRC.Value = SRCKEY
            dbCommand.Parameters.Add(dbParam_SRC)

            dbParam_User = New OracleParameter(":UPD_BY", System.Data.DbType.String)
            dbParam_User.Value = HttpContext.Current.User.Identity.Name
            dbCommand.Parameters.Add(dbParam_User)

            dbParam_UpdDate = New OracleParameter(":UPD_DATE", System.Data.DbType.Date)
            dbParam_UpdDate.Value = Date.Now
            dbCommand.Parameters.Add(dbParam_UpdDate)

            ' Open the connection
            dbConnection.Open()
            dbCommand.Transaction = dbConnection.BeginTransaction()

            ' Execute the query for the history
            dbCommand.ExecuteNonQuery()

            ' New parameter for the update query
            dbParam_HDO = New OracleParameter(":HDO", System.Data.DbType.Int16)
            dbParam_HDO.Value = HDO
            dbCommand.Parameters.Add(dbParam_HDO)

            dbParam_SLM = New OracleParameter(":SLM", System.Data.DbType.Int16)
            dbParam_SLM.Value = SLM
            dbCommand.Parameters.Add(dbParam_SLM)

            dbParam_DTM = New OracleParameter(":DTM", System.Data.DbType.Int16)
            dbParam_DTM.Value = DTM
            dbCommand.Parameters.Add(dbParam_DTM)

            dbParam_REP = New OracleParameter(":REP", System.Data.DbType.Int16)
            dbParam_REP.Value = REP
            dbCommand.Parameters.Add(dbParam_REP)

            dbParam_BUM = New OracleParameter(":BUM", System.Data.DbType.Int16)
            dbParam_BUM.Value = BUM
            dbCommand.Parameters.Add(dbParam_BUM)

            dbParam_RGM = New OracleParameter(":RGM", System.Data.DbType.Int16)
            dbParam_RGM.Value = RGM
            dbCommand.Parameters.Add(dbParam_RGM)

            dbParam_MAIL = New OracleParameter(":MAIL", System.Data.DbType.String)
            dbParam_MAIL.Value = MAIL + "@sanofi-aventis.com"
            dbCommand.Parameters.Add(dbParam_MAIL)

            dbParam_USRNAM = New OracleParameter(":USRNAM", System.Data.DbType.String)
            dbParam_USRNAM.Value = UCase(UsrNam)
            dbCommand.Parameters.Add(dbParam_USRNAM)

            dbParam_WINLOG = New OracleParameter(":WINLOG", System.Data.DbType.String)
            If Win_log = Nothing Then
                dbParam_WINLOG.Value = ""
            Else
                dbParam_WINLOG.Value = UCase(Win_log)
            End If
            dbCommand.Parameters.Add(dbParam_WINLOG)

            dbParam_RESCOD = New OracleParameter(":RESCOD", System.Data.DbType.String)
            If ResCod = Nothing Then
                dbParam_RESCOD.Value = ""
            Else
                dbParam_RESCOD.Value = UCase(ResCod)
            End If
            dbCommand.Parameters.Add(dbParam_RESCOD)

            dbCommand.Parameters.Remove(dbParam_User)
            dbCommand.Parameters.Remove(dbParam_UpdDate)

            ' To update table REF_TMS_USR_ROL
            dbCommand.CommandText = queryString

            rowsAffected = dbCommand.ExecuteNonQuery()

            dbCommand.Parameters.Remove(dbParam_RESCOD)
            dbCommand.Parameters.Remove(dbParam_RGM)
            dbCommand.Parameters.Remove(dbParam_BUM)
            dbCommand.Parameters.Remove(dbParam_REP)
            dbCommand.Parameters.Remove(dbParam_DTM)
            dbCommand.Parameters.Remove(dbParam_SLM)
            dbCommand.Parameters.Remove(dbParam_HDO)
            dbCommand.Parameters.Remove(dbParam_SRC)
            dbCommand.Parameters.Remove(dbParam_USRNAM)

            dbCommand.CommandText = queryString2

            dbCommand.ExecuteNonQuery()

            dbCommand.Transaction.Commit()

        Catch e As NullReferenceException
            rowsAffected = 0
            'Enregistrement dans le log
            logWriter.Write(Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name & "->" & Reflection.MethodBase.GetCurrentMethod().Name & " : " & e.Message)

        Catch e As OracleException
            rowsAffected = 0
            'Enregistrement dans le log
            logWriter.Write(Reflection.MethodBase.GetCurrentMethod().DeclaringType.Name & "->" & Reflection.MethodBase.GetCurrentMethod().Name & " : " & e.Message)

            If Not dbCommand Is Nothing Then
                dbCommand.Transaction.Rollback()
            End If
        Finally

            If Not dbConnection Is Nothing Then
                If dbConnection.State <> ConnectionState.Closed Then
                    dbConnection.Close()
                End If
            End If

        End Try

        Return rowsAffected

    End Function



Cette discussion est classé dans : voil, ddl, ajout, addmacro, mappinglist


Répondre à ce message

Sujets en rapport avec ce message

disparition de <profile> après ajout de propriétés [ par ordiminnie ] Bonjour,voilà mon problème, je souhaite faire un formulaire d'inscription. J'ai donc rajouté des propriétés à tel que le montre le code ci-dessous :  [DEPALCE --> C++] reconnaissance de visages! [ par lorninette ] voilà c'est pour mon TP dont le thème est " la reconnaissance de visages" à partir d'une séquence vidéo ou photos, une BDD contenant des photos, séque 3 DrillDownList en cascade [ par samoht ] Bonjour,Dans un EditTemplate d'un GridView j'ai 3 DDL (Pays, region, ville). Soit j'arrive à bien remplir mes DDL lors de l'édition (avec sélection de Appeler une fonction au clique sur un treenode [ par dungies ] Bonjour,J'aurais aimé savoir comment appler une fonction c# lors d'un clique sur un treenode. Je n'aie réussie pour l'instant qu'à faire un alert('ok' Ajout d'une barre d'outil dans Windows 7 [ par sbol ] Bonjour, Comment insérer une deuxième barre d'outil sur le bureau de Windows7(haut + bas)? Avec XP et Vista, pas de problème, mais là, j'ai pas trouv ajout de dll dans l'invite de commandes [ par coccolata ] salut,j'ai istaller iis apres l'installation de visual studio.net 2005 donc je dois enregistrer la dll aspnet_isapi.dll bref, je sais la solution,sur Expression régulière qui ne passe pas [ par ordiminnie ] Bonjour à tous,Voilà je débute avec les expressions régulières.J'ai fait  mon expression régulière pour vérifier un string de ce type +1234/A, ce qui Comment remplir une DDL ? [ par Gwaedion ] Bonjour, Comment remplir une DDL avec un DataSource et une balise "" ? J'ai un LinqDataSource qui rempli ma DDL et je voudrais ajouter une donnée "A Ajout dans Profile Group [ par ddove53 ] Bonjour,j'ai fait un groupe de profil é à chaq fois que je lick sur un bouton enregistrer, je veux qu'il enregistre un nouvel utilisateur dans la base


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version


HTC G1

Entre 449€ et 449€


Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,312 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.