begin process at 2012 02 10 04:30:44
  Trouver un code source :
 
dans
 
Accueil > Forum > 

ASP.NET

 > 

WebForms

 > 

WebControl

 > 

GridView RowCommand


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

GridView RowCommand

lundi 29 mai 2006 à 17:14:51 | GridView RowCommand

giov0

Bonjour,

J'ai une page (WebForm) dans laquelle je contrui dynamiquement un GridView
J'ai plusieurs TemplateField que je rempli avec des controls ImageButton
J'associe des CommandName pour chaque ImageButton (ex : delet,detail,doclies....)
Dans mon code behind j'ai l'evenement GridView1_RowCommand dans laquelle je fait un switch pour savoir d'ou viens le click.

Mon 1er probleme, c'est que l'evenement ne s'execute pas  si je charge mon gridview dans un block

if

(!Page.IsPostBack)

{

}

Si je charge mon gridview à l'exterieure de ce block,
l'evenement s'execute mais je n'arrive pas à recuperer les valeur de la ligne selectionnée dans mon gridview.(je suppose que c'est normal car le gridview a été réinitialisé) 

C'a fait une semaine que mon cerveau chauffe trop.
Est-ce kelkun voit où est mon erreur ?



mardi 30 mai 2006 à 09:23:07 | Re : GridView RowCommand

fcampagne

Réponse acceptée !
Salut,
J'ai sensiblement le méme probléme en ce moment que toi!
A la différence que moi je crée mon gridview dynamiquement dans une classe a part que j'inclu dans ma page aspx par la suite
Pour ton premier pb, jesusonline ma filé un tuyot, regarde le cycle de déroulement d'une page asp, il semble qu'il faut déclarer ton gridview dynamique dans l'événement page_init de ta webform.
Essaye déja cet piste,
Par contre je suis curieux, pourrais tu me montrer comment tu ajoute des itemtemplate ( comment tu ajoute tes imagebutton en fait) avec les itemplate dans ton gridview dynamique stp!
mercredi 31 mai 2006 à 08:57:08 | Re : GridView RowCommand

giov0

Réponse acceptée !
Ok
Voila le lien qui m'a permis de créér dynamiquement mes colonne avec des imagebutton :

[ Lien ]

En fait, le code est pour le controle DATAGRID mais voila mon code pour le GRIDVIEW :

Dans ma page où je construit mon GridView :

   //Déclaration d'un compteur pour l'index des colonnes

   int colIndex = 0 ;
   TemplateField coldelet = newTemplateField();
   coldelet.ItemTemplate =
newMyTemplate("delet");
   GridView1.Columns.Insert(colIndex, coldelet);

La classe MyTemplate est : 

public
classMyTemplate : ITemplate
{
string type;

public
MyTemplate(string typ)
{
type = typ;
}

//methode appelée lors de l'implementation de la collone template
publicvoid InstantiateIn(Control container)
{

   Control
ctrl = null;
   ctrl =
newImageButton();
   ((
ImageButton)ctrl).CommandName = "cmd" + type;
   ((
ImageButton)ctrl).ImageUrl = "~/Images/icone" + type + ".jpg";
   ((ImageButton)ctrl).ToolTip = "ton tooltip";
  
 ctrl.ID = type;
   container.Controls.Add(ctrl);
}

}


Voila, normalement avec ca tu construit dynamiquement des templatefield avec des images button
Est-ce que tu peux m'envoyer ton code de construction de DATAGRID
j'aimerai savoir comment tu gere pour l'inclure dans ta page apres sa contruction ds une classe à part
je suis curieux aussi ;.)
Merci

 
jeudi 1 juin 2006 à 08:51:50 | Re : GridView RowCommand

fcampagne

Réponse acceptée !
Merci bien, j'avais vu également ce code au détour d'un page web ( dailleur je crois  que c le méme site) La question que je me pose ,c'est est ce qu'il ya un moyen de créer des Itemplate sans avoir recours a une classe externe comme toi ici tu utilise la classe mytemplate!
Je cherche a m'affranchir de toutes classes non vitales dans mon code
Merci!

jeudi 1 juin 2006 à 09:00:54 | Re : GridView RowCommand

fcampagne

Réponse acceptée !
voila pour mon code dans ma classe de création d'un gridview ( pareille qu'un dtagrid)

    Private Function setBoundField(ByVal name As String) As BoundField
'fonction qui créer une colonne type dans mon gridview
        Dim myboundfield As New BoundField
        myboundfield = New BoundField
        myboundfield.HtmlEncode = False
        myboundfield.DataField = name
        myboundfield.HeaderText = name
        Return myboundfield
    End Function


Public Function setAfficheur() As GridView

        With detail
            .ID = "afficheur_package"
            .CellPadding = "4"
            .Font.Name = "tahoma"
            .ForeColor = Drawing.ColorTranslator.FromHtml("#333333")
            .GridLines = GridLines.Both
            .Height = Web.UI.WebControls.Unit.Pixel(50)
            .Width = Web.UI.WebControls.Unit.Percentage(90.0)
            .HeaderStyle.HorizontalAlign = Web.UI.WebControls.HorizontalAlign.Center
            .HorizontalAlign = Web.UI.WebControls.HorizontalAlign.Center
            .RowStyle.BackColor = Drawing.ColorTranslator.FromHtml("#EFF3FB")
            .HeaderStyle.BackColor = Drawing.ColorTranslator.FromHtml("#507CD1")
            .HeaderStyle.Font.Bold = True
            .HeaderStyle.ForeColor = Drawing.Color.White
            .AlternatingRowStyle.BackColor = Drawing.Color.White
            .RowStyle.HorizontalAlign = HorizontalAlign.Center
            .AutoGenerateColumns = False

            addcolumn = New ButtonField()
            addcolumn.CommandName = "etat"
            addcolumn.DataTextField = "Temp"
            'association au champ 0 de ma table de données
            addcolumn.DataTextFormatString = "{0}"
            addcolumn.ButtonType = ButtonType.Link
            addcolumn.ItemStyle.Wrap = True
            .Columns.Add(addcolumn)

            .Columns.Add(setBoundField("Nom"))
            .Columns.Add(setBoundField("Chemin"))
            .Columns.Add(setBoundField("N° de processus"))
            .Columns.Add(setBoundField("Etat"))
            .Columns.Add(setBoundField("Status"))
             'gestion des evenement
            AddHandler .RowCommand, AddressOf serv_RowCommand
            AddHandler .RowCreated, AddressOf serv_RowCreated
        End With

        Return detail
    End Function

    Sub serv_RowCommand(ByVal sender As Object, ByVal e As GridViewCommandEventArgs)
        If e.CommandName = "etat" Then
            ....................mon code a executer sur le click du lien
    End Sub

    Sub serv_RowCreated(ByVal sender As Object, ByVal e As GridViewRowEventArgs)
........................mon code a executer sur la création d'une ligne du gridview
    End Sub


Ensuite aprés tout ca dans ma page principale, je créer une instance de ma classe
dim classe as new  maclasse ( dans le page_init)
'et je récupére le gridview de ma classe ( je n'ai pas mis le code dans l'exemple pour récupérer le gridview mais c tout béte)
dim gv as new gridview
gv=classe.getgridview
'associer une source a mon gridview et affichage
gv.datasource=masource ( moi j'utilitlise un datatable)
gv.databind

Voila tout béte n'est ce pas!


Cette discussion est classée dans : page, gridview, evenement, execute, rowcommand


Répondre à ce message

Sujets en rapport avec ce message

executer une page asp [ par mireille ] Salut,Je n'arrive pas à utiliser Server.Execute(page.asp).Message d'erreur : "Propriété ou méthode non gérée par cet objet: 'Execute'' Evenement unload ? [ par systemic_anomaly ] Bonjour,J'aimerais tout simplement exécuter une opération particulière lorsque je quitte une page. Donc récupérer un évènement lorsque je clique sur u Dropdown et evenement selection change [ par matlocker ] Bonsoir a tous,Je decouvre en ce moment ASP.net et je voudrais savoir comment il est possible en changeant la selection d'une DropDown, faire appel a Gridview scrollable! [ par shitboypark ] BOnjour!je charge une gridview au lancement de ma page et la taille varie selon le nombre de records de ma page..J'ai envie que le height de ma grid s GridView customisable au secours! [ par shitboypark ] Bonjour!Je débute en Asp.Net 2.0 (je viens du monde ASP)..et je galère avec des problèmes de M... car je manque de technique..J'ai une gridview sur un Changer de page avec passage en POST [ par gstrit ] Bonjour,Je voudrais avoir une gridview et lorsque je clique sur une ligne, ça appelle une autre page aspx en lui passant des valeurs par méthode POST. capture d'evenement [ par sorcier_sly ] Salut  tout le monde,Je vous ecris car j'ai un probleme pour intercepter un evenement.Donc j'ai une page aspx, qui contient un placeholder. Je charge Problème de findcontrol [ par shawn ] Bonjour, Voici mon problème J'ai un gridview dans ma page. Dans ce gridview j'ai une templatecolumn dans laquelle j'ai un control radiobutton. Probleme evenement sur un control d'un datagrid [ par peps89 ] Bonjour,J'ai créé un Datagrid possédant une colonne avec une dropdowlist et une autre contenant une textbox et j'aimerai préremplir la textbox en fonc Passage entre 2 pages [ par elpens ] Bonjour,J'ai un petit soucis que voilà :J'ai un gridView, qui me avec un bouton à chaque lignes. Lorsque je clique, il m'ouvre une pop-up.Dans cette n


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
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

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,713 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales