Datgrid

coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010 - 9 mars 2006 à 15:49
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 - 10 mars 2006 à 16:07
Bonjour,
Voila dans un datagride j'ai le code suivant :


<Columns>

<HeaderStyle HorizontalAlign="Center" CssClass="HeaderStyleR"></HeaderStyle>

' Font-Name="arial" Font-Size="10pt" runat="server" ForeColor="Black" BackColor="#FFCC33" CausesValidation="false"/>


</Columns>
Je souhaite definir le bouton avec un style depuis le code behind.
datagride.column.... ????
Je n'y parviens pas!
Thierry

7 réponses

jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 mars 2006 à 15:57
Bonjour

abonne toi à l'evenenement itemCreated de ton datagrid ensuite tu pourra faire quelque chose comme ca

ctype(e.items.findcontrol("tonbutton"), button).attributes.add("style", "blablabla")

:)


<HR>
Cyril - MVS - MCP ASP
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
9 mars 2006 à 16:12
As tu un exemple pour s'abonner à l'evenenement itemCreated du datgrid ? je ne comprends pas tout.

Thierry
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 mars 2006 à 16:51
private sub mondatagrid_itemcreated(jemesouviensplusdesparams) handles mondatagrid.itemcreated

ou alors en C# ca donne mondatagrid.itemcreated += new eventHandler(...) // de toute facon il y a de la complétion suffit d'appuyer sur tab


<HR>
Cyril - MVS - MCP ASP
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
9 mars 2006 à 18:41
Voila j'ai crée le code suivant :


Private
Sub ListeVOGrid1_Item_Created(
ByVal sender
As System.Object,
ByVal e
As DataGridItemEventArgs)
Handles ListeVOGrid1.ItemCreated



CType(e.Item.FindControl("BoutDetail1"), Button).CssClass = "BoutDetailR"



End
Sub
'Item_Created

La création c'est passée sans problème avec l'intellisens
Mais à l'éxecution j'ai l'erreur suivante :


La référence d'objet n'est pas définie à une instance d'un objet.
Description : Une exception non gérée s'est produite au moment de l'exécution de la demande Web actuelle. Contrôlez la trace de la pile pour plus d'informations sur l'erreur et son origine dans le code.

Détails de l'exception: System.NullReferenceException: La référence d'objet n'est pas définie à une instance d'un objet.

Erreur source:


Ligne 119 :    End Sub
Ligne 120 :    Private Sub ListeVOGrid1_Item_Created(ByVal sender As System.Object, ByVal e As DataGridItemEventArgs) Handles ListeVOGrid1.ItemCreated
Ligne 121 :        CType(e.Item.FindControl("BoutDetail1"), Button).CssClass   = "BoutDetailR"
Ligne 122 :
Ligne 123 :    End Sub 'Item_Created



Fichier source : c:\inetpub\wwwroot\groupekayser\ListeVO1.ascx.vb Ligne : 121

Trace de la pile:


[NullReferenceException: La r&#233;f&#233;rence d'objet n'est pas d&#233;finie &#224; une instance d'un objet.]
groupekayser.ListeVO1.ListeVOGrid1_Item_Created(Object sender, DataGridItemEventArgs e) in c:\inetpub\wwwroot\groupekayser\ListeVO1.ascx.vb:121
System.Web.UI.WebControls.DataGrid.OnItemCreated(DataGridItemEventArgs e)
System.Web.UI.WebControls.DataGrid.CreateItem(Int32 itemIndex, Int32 dataSourceIndex, ListItemType itemType, Boolean dataBind, Object dataItem, DataGridColumn[] columns, TableRowCollection rows, PagedDataSource pagedDataSource)
System.Web.UI.WebControls.DataGrid.CreateControlHierarchy(Boolean useDataSource)
System.Web.UI.WebControls.BaseDataList.OnDataBinding(EventArgs e)
System.Web.UI.WebControls.BaseDataList.DataBind()
groupekayser.ListeVO1.ListeVO(String sSortExp) in c:\inetpub\wwwroot\groupekayser\ListeVO1.ascx.vb:228
groupekayser.ListeVO1.Page_PreRender(Object sender, EventArgs e) in c:\inetpub\wwwroot\groupekayser\ListeVO1.ascx.vb:151
System.Web.UI.Control.OnPreRender(EventArgs e)
System.Web.UI.Control.PreRenderRecursiveInternal()
System.Web.UI.Control.PreRenderRecursiveInternal()
System.Web.UI.Control.PreRenderRecursiveInternal()
System.Web.UI.Control.PreRenderRecursiveInternal()
System.Web.UI.Page.ProcessRequestMain()



Thierry
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
9 mars 2006 à 19:48
T'as essayé en mettant un point d'arret pour voir ce que contenait cette variable e ?

j'etais presque sur qu'ellle contenait la ligne avec tout ce qui va bien dedans, et si tu fais la meme chose dans le item_databound ? peut etre que lors qu'il le créer c'est trop tot pour trouver le bouton :s

si ca marche toujours pas j'essaierai :p


<HR>
Cyril - MVS - MCP ASP
0
coulis Messages postés 121 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 24 juin 2010
10 mars 2006 à 10:49
La variable e contient :

+ e {System.Web.UI.WebControls.DataGridItemEventArgs} System.Web.UI.WebControls.DataGridItemEventArgs

j'ai essayé aussi avec item_databound et meme erreur!

Thierry
0
jesusonline Messages postés 6814 Date d'inscription dimanche 15 décembre 2002 Statut Membre Dernière intervention 13 octobre 2010 29
10 mars 2006 à 16:07
Bonjour,

cela faisait pas mal de temps que j'avais envie de faire un article sur le debugage en asp.net voici pour toi : http://www.aspfr.com/tutorial.aspx?ID=384


<HR>
Cyril - MVS - MCP ASP
0
Rejoignez-nous