J'essaie de faire un control gridview facile a utiliser avec plein de tri,
de filtres (dropdownlist dans les headers)..et plein d'autre trucs!
j'utilise aujourdhui un objectdatasource ODS pour faire tout ca car tout est
gerer quasi automatiquement....mais l'ODS est toujours aujourdhui sur la
page ou dans le webcontrol a coté de la gridview.....
je voudrais que ces deux objets soit reunis dans un seul......
donc, dans ma grille perso qui herite de la gridview du framework, j'ai créé
un ODS en variable privée que je rajoute dans la gridview (Me.control.add)
lors du onload ou onprerender
je fais aussi un Me.DataSourceID = _ods.ID...et la, c'est le drame....
A chaque fois, j'ai toujours la meme erreur
Le DataSourceID de "MyGridView" doit être l'ID d'un contrôle de type
IDataSource. Un contrôle doté de l'ID "_ods" est introuvable
Des idées????
Vous savez pourquoi ca me fais ca?
en tout cas, merci d'avance!!!!!
Bye
Syl
PS :
mon code ressemble a ca :
-------------my grid view-------------------------
Public Class GridView
Inherits Common.Web.UI.WebControls.GridView
Private WithEvents _ods As ObjectDatasource
Public ReadOnly Property odsDataSource() As ObjectDatasource
Get
If _ods Is Nothing Then
_ods = New ObjectDatasource
_ods.ID = "_ods"
_ods.EnableViewState = False
End If
Return _ods
End Get
End Property
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
Me.Controls.Add(_ods)
Me.DataSourceID = _ods.ID
End Sub
.....et plein d'autres trucs avec des OnRowCreated, OnPreRender, and much
more.....!!!....
End Class
---------------utilisation de ma gridview perso dans un
webcontrol-------------------
Partial Class webControls_ThingList
Inherits System.Web.UI.UserControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
'GV est ma gridview perso dans le control utilisateur perso
aussi ThingList
GV.odsDataSource.TypeName = "un_super_type_de_donnees"
GV.odsDataSource.SelectMethod =
"une_super_fonction_pour_data_source"
End Sub
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
syl
Hi!
Probleme résolu!
en fait, faut pas que j'ajoute l'ODS directement dans ma gridview, mais il faut que je l'insère dans l'ASCX ou l'ASPX qui contient ma gridview...
en gros, j'ai créé une fonction d'init qui doit etre executée a chaque utilisation de ma super gridview et qui fait le controls.add et le datasourceid = ods.id cette fonction sera appellé sur l'ascx ou l'aspx.... je ne peux pas faire ca a l'interieur du gridview.....je ne sais pas pourquoi...mais c'est pas grave
Public Sub InitObjectDataSource(ByVal Container As System.Web.UI.Control) Container.Controls.Add(_ods) Me.DataSourceID = _ods.ID End Sub
bye! syl
"syl" a écrit dans le message de news:
Hello
J'essaie de faire un control gridview facile a utiliser avec plein de tri, de filtres (dropdownlist dans les headers)..et plein d'autre trucs! j'utilise aujourdhui un objectdatasource ODS pour faire tout ca car tout est gerer quasi automatiquement....mais l'ODS est toujours aujourdhui sur la page ou dans le webcontrol a coté de la gridview..... je voudrais que ces deux objets soit reunis dans un seul......
donc, dans ma grille perso qui herite de la gridview du framework, j'ai créé un ODS en variable privée que je rajoute dans la gridview (Me.control.add) lors du onload ou onprerender je fais aussi un Me.DataSourceID = _ods.ID...et la, c'est le drame.... A chaque fois, j'ai toujours la meme erreur Le DataSourceID de "MyGridView" doit être l'ID d'un contrôle de type IDataSource. Un contrôle doté de l'ID "_ods" est introuvable
Des idées???? Vous savez pourquoi ca me fais ca?
en tout cas, merci d'avance!!!!!
Bye Syl
PS : mon code ressemble a ca :
-------------my grid view------------------------- Public Class GridView Inherits Common.Web.UI.WebControls.GridView
Private WithEvents _ods As ObjectDatasource
Public ReadOnly Property odsDataSource() As ObjectDatasource Get If _ods Is Nothing Then _ods = New ObjectDatasource _ods.ID = "_ods" _ods.EnableViewState = False End If Return _ods End Get End Property
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) MyBase.OnLoad(e) Me.Controls.Add(_ods) Me.DataSourceID = _ods.ID End Sub
.....et plein d'autres trucs avec des OnRowCreated, OnPreRender, and much more.....!!!....
End Class
---------------utilisation de ma gridview perso dans un webcontrol-------------------
Partial Class webControls_ThingList Inherits System.Web.UI.UserControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'GV est ma gridview perso dans le control utilisateur perso aussi ThingList GV.odsDataSource.TypeName = "un_super_type_de_donnees" GV.odsDataSource.SelectMethod = "une_super_fonction_pour_data_source" End Sub
End Class
Hi!
Probleme résolu!
en fait, faut pas que j'ajoute l'ODS directement dans ma gridview, mais il
faut que je l'insère dans l'ASCX ou l'ASPX qui contient ma gridview...
en gros, j'ai créé une fonction d'init qui doit etre executée a chaque
utilisation de ma super gridview et qui fait le controls.add et le
datasourceid = ods.id
cette fonction sera appellé sur l'ascx ou l'aspx....
je ne peux pas faire ca a l'interieur du gridview.....je ne sais pas
pourquoi...mais c'est pas grave
Public Sub InitObjectDataSource(ByVal Container As
System.Web.UI.Control)
Container.Controls.Add(_ods)
Me.DataSourceID = _ods.ID
End Sub
bye!
syl
"syl" <lobrys_NOSPAM@free.fr> a écrit dans le message de news:
OSihsJTzGHA.3656@TK2MSFTNGP04.phx.gbl...
Hello
J'essaie de faire un control gridview facile a utiliser avec plein de tri,
de filtres (dropdownlist dans les headers)..et plein d'autre trucs!
j'utilise aujourdhui un objectdatasource ODS pour faire tout ca car tout
est gerer quasi automatiquement....mais l'ODS est toujours aujourdhui sur
la page ou dans le webcontrol a coté de la gridview.....
je voudrais que ces deux objets soit reunis dans un seul......
donc, dans ma grille perso qui herite de la gridview du framework, j'ai
créé un ODS en variable privée que je rajoute dans la gridview
(Me.control.add) lors du onload ou onprerender
je fais aussi un Me.DataSourceID = _ods.ID...et la, c'est le drame....
A chaque fois, j'ai toujours la meme erreur
Le DataSourceID de "MyGridView" doit être l'ID d'un contrôle de type
IDataSource. Un contrôle doté de l'ID "_ods" est introuvable
Des idées????
Vous savez pourquoi ca me fais ca?
en tout cas, merci d'avance!!!!!
Bye
Syl
PS :
mon code ressemble a ca :
-------------my grid view-------------------------
Public Class GridView
Inherits Common.Web.UI.WebControls.GridView
Private WithEvents _ods As ObjectDatasource
Public ReadOnly Property odsDataSource() As ObjectDatasource
Get
If _ods Is Nothing Then
_ods = New ObjectDatasource
_ods.ID = "_ods"
_ods.EnableViewState = False
End If
Return _ods
End Get
End Property
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs)
MyBase.OnLoad(e)
Me.Controls.Add(_ods)
Me.DataSourceID = _ods.ID
End Sub
.....et plein d'autres trucs avec des OnRowCreated, OnPreRender, and much
more.....!!!....
End Class
---------------utilisation de ma gridview perso dans un
webcontrol-------------------
Partial Class webControls_ThingList
Inherits System.Web.UI.UserControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As
System.EventArgs) Handles Me.Load
'GV est ma gridview perso dans le control utilisateur perso
aussi ThingList
GV.odsDataSource.TypeName = "un_super_type_de_donnees"
GV.odsDataSource.SelectMethod =
"une_super_fonction_pour_data_source"
End Sub
en fait, faut pas que j'ajoute l'ODS directement dans ma gridview, mais il faut que je l'insère dans l'ASCX ou l'ASPX qui contient ma gridview...
en gros, j'ai créé une fonction d'init qui doit etre executée a chaque utilisation de ma super gridview et qui fait le controls.add et le datasourceid = ods.id cette fonction sera appellé sur l'ascx ou l'aspx.... je ne peux pas faire ca a l'interieur du gridview.....je ne sais pas pourquoi...mais c'est pas grave
Public Sub InitObjectDataSource(ByVal Container As System.Web.UI.Control) Container.Controls.Add(_ods) Me.DataSourceID = _ods.ID End Sub
bye! syl
"syl" a écrit dans le message de news:
Hello
J'essaie de faire un control gridview facile a utiliser avec plein de tri, de filtres (dropdownlist dans les headers)..et plein d'autre trucs! j'utilise aujourdhui un objectdatasource ODS pour faire tout ca car tout est gerer quasi automatiquement....mais l'ODS est toujours aujourdhui sur la page ou dans le webcontrol a coté de la gridview..... je voudrais que ces deux objets soit reunis dans un seul......
donc, dans ma grille perso qui herite de la gridview du framework, j'ai créé un ODS en variable privée que je rajoute dans la gridview (Me.control.add) lors du onload ou onprerender je fais aussi un Me.DataSourceID = _ods.ID...et la, c'est le drame.... A chaque fois, j'ai toujours la meme erreur Le DataSourceID de "MyGridView" doit être l'ID d'un contrôle de type IDataSource. Un contrôle doté de l'ID "_ods" est introuvable
Des idées???? Vous savez pourquoi ca me fais ca?
en tout cas, merci d'avance!!!!!
Bye Syl
PS : mon code ressemble a ca :
-------------my grid view------------------------- Public Class GridView Inherits Common.Web.UI.WebControls.GridView
Private WithEvents _ods As ObjectDatasource
Public ReadOnly Property odsDataSource() As ObjectDatasource Get If _ods Is Nothing Then _ods = New ObjectDatasource _ods.ID = "_ods" _ods.EnableViewState = False End If Return _ods End Get End Property
Protected Overrides Sub OnLoad(ByVal e As System.EventArgs) MyBase.OnLoad(e) Me.Controls.Add(_ods) Me.DataSourceID = _ods.ID End Sub
.....et plein d'autres trucs avec des OnRowCreated, OnPreRender, and much more.....!!!....
End Class
---------------utilisation de ma gridview perso dans un webcontrol-------------------
Partial Class webControls_ThingList Inherits System.Web.UI.UserControl
Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 'GV est ma gridview perso dans le control utilisateur perso aussi ThingList GV.odsDataSource.TypeName = "un_super_type_de_donnees" GV.odsDataSource.SelectMethod = "une_super_fonction_pour_data_source" End Sub