plusieurs Boutons dans 1 gridview c# [Résolu]

Messages postés
84
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
22 juin 2007
- - Dernière réponse : jesusonline
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
- 24 mai 2007 à 20:58
Bonjour,
voilà j ai créé un gridview en ASP et j y ai mis 2 buttonfield: Un pour supprimer, un pour mettre à jour!
J utilise pas la DeleteCommand, parcequ il faut que je supprime dans plusieurs tables en meme temps!
Maintenant j aimerai savoir sur l evenement RowCommand , comment différencier les 2 boutons!
voilà une idée mais je la trouve pas logique...lol

--------------- code asp (ça c est correct))-------------------------------------------
<

asp:GridView
ID= "GridView2"
runat="server"
AutoGenerateColumns="False"
CellPadding="4"
DataKeyNames="ID_GROUP"
DataSourceID="SourceGroup2"
ForeColor="#333333"
GridLines="None"
Width="311px">
<FooterStyle
BackColor="#507CD1"
Font-Bold="True"
ForeColor="White"
/>

<Columns>
<asp:BoundField
DataField="ID_GROUP"
HeaderText="ID_GROUP"
ReadOnly="True"
SortExpression="ID_GROUP"
/>
<asp:BoundField
DataField="TITLE_GROUP"
HeaderText="TITLE_GROUP"
SortExpression="TITLE_GROUP"
/>
<asp:BoundField
DataField="DESC_GROUP"
HeaderText="DESC_GROUP"
SortExpression="DESC_GROUP"
/>
<asp:ButtonField
ButtonType="Button"
Text="Delete"
HeaderText="Select"/>

<asp:ButtonField
ButtonType="Button"
Text="Update"
HeaderText="Select"/>

</Columns>

<RowStyle
BackColor="#EFF3FB"
/>
<EditRowStyle
BackColor="#2461BF"
/>
<SelectedRowStyle
BackColor="#D1DDF1"
Font-Bold="True"
ForeColor="#333333"
/>
<PagerStyle
BackColor="#2461BF"
ForeColor="White"
HorizontalAlign="Center"
/>
<HeaderStyle
BackColor="#507CD1"
Font-Bold="True"
ForeColor="White"
/>
<AlternatingRowStyle
BackColor="White"
/>

</asp:GridView>

<asp:SqlDataSource
ID="SourceGroup2"
runat="server"
ConnectionString="<%$ ConnectionStrings:ConnectionString3 %>
"
ProviderName="<%$ ConnectionStrings:ConnectionString3.ProviderName %>
"
SelectCommand='SELECT "ID_GROUP", "TITLE_GROUP", "DESC_GROUP" FROM "GROUP_QUEST"'>
</asp:SqlDataSource>
------------------------------------------------------------------------------------------

--------------- code c# , c est celui là qui va pas -------------------------------------------------------
C'est dans la partie en gras que je sais pas trop ! je voudrais appeler le bouton Delete et pas le Update
protected

void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
{
            
ButtonField Button_grid =
new
ButtonField
();
            
// to convert the argument for the event in a String 
            int index =
Convert.ToInt32(e.CommandArgument);
            
GridViewRow row = GridView2.Rows[index];
            
// All the values of each column of the row selected are put in a variable
            TableCell paramId= row.Cells[0];
            
TableCell paramTitle = row.Cells[1];
            
TableCell paramDesc = row.Cells[2];

            if (Button_grid.Text ==
"Delete"
)
            {
                  
// connection to MPL database
                  DataConnection m =
new
DataConnection();
                  
OracleConnection conn =
null;
                  conn = m.DoConnection();
                  
try
                  {
                        
// create command
                        // command for DELETE FROM group_quest

                        OracleCommand cmd = conn.CreateCommand();
                        
// commande for COMMIT
                        OracleCommand cmd2 = conn.CreateCommand();
                        
// command for DELETE FROM question                        OracleCommand cmd3 conn.CreateCommand();                        cmd.CommandText

"DELETE FROM group_quest where title_group=:parm1, desc_group=:parm2";
                        
// use to save data in the database
                        cmd2.CommandText =
"COMMIT";
                        cmd3.CommandText =
"DELETE FROM question where id_group=:parm3";

                        OracleParameter myParameter1 =
new
OracleParameter(
":parm1",
OracleType.VarChar, 300);
                        myParameter1.Value = paramTitle.Text;   
                        
OracleParameter myParameter2 =
new
OracleParameter(
":parm2",
OracleType.VarChar, 300);
                        myParameter2.Value = paramDesc.Text;
                        
OracleParameter myParameter3 =
new
OracleParameter(
":parm3",
OracleType.Number);
                        myParameter3.Value = paramId.Text;

                        // add parameters to the query
                        cmd.Parameters.Add(myParameter1);
                        cmd.Parameters.Add(myParameter2);
                        cmd3.Parameters.Add(myParameter3);

                        // execute the query
                        cmd.ExecuteNonQuery();
                        cmd3.ExecuteNonQuery();
                        cmd2.ExecuteNonQuery();

                        cmd.Dispose();
                        cmd =

null;
                        cmd3.Dispose();
                        cmd3 =
null;
                        cmd2.Dispose();
                        cmd2 =
null;
}

...... catch.... finally}}

MERCI
Sabine
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
15
3
Merci
Bonsoir,

pourquoi ne pas utiliser le commandName ?

Cyril - MSP - MCTS ASP.net & SQL

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 158 internautes nous ont dit merci ce mois-ci

Commenter la réponse de jesusonline
Messages postés
84
Date d'inscription
jeudi 1 mars 2007
Statut
Membre
Dernière intervention
22 juin 2007
0
Merci
Merciiiii
Sab

Mais une petite question:
j ai mon deuxieme bouton "Update" et je veux quand je clique dessus qu il me passe toutes les cellules en champ de saisie, de maniere à les modifier directement dans le gridview!
je sais que je pourrais utiliser la methode UpdateCommand mais j aimerai avoir 2 boutons pareils! compte tenu que j ai le premier bouton "Delete" a qui j ai donné mes propres actions!

merci d avance

Sab
Commenter la réponse de cs_Sabine25
Messages postés
6827
Date d'inscription
dimanche 15 décembre 2002
Statut
Modérateur
Dernière intervention
13 octobre 2010
15
0
Merci
pas compris là mais si tu met le commandName ) Update alors il passera par le UpdateCommand (je suis pas sur mais presque)

<hr />Cyril - MSP - MCTS ASP.net & SQL
Commenter la réponse de jesusonline