J'ai cr=E9e un contr=F4le serveur bas=E9 sur un datagrid, dans=20
lequel je lui ai ajout=E9 une liste d=E9roulante dans la=20
section "pager" du contr=F4le, ceci dans le but d'agir sur=20
la propri=E9t=E9 "PageSize" du datagrid.
Pour cela, j'ai trifouill=E9 la collection "controls" du=20
datagrid pour rajouter un "Dropdownlist" au bon endroit.
J'ai ajout=E9 =E9galement =E0 mon dropdownlist des =E9l=E9ments=20
(20,50,100,200).
Jusque l=E0 tout va bien, ma liste d=E9roulante s'affiche=20
bien avec ses =E9l=E9ments =E0 l'int=E9rieur, mais je n'arrive=20
absolument pas =E0 intercepetr=20
l'=E9v=E8nement "SelectIndeChanged" de ma liste d=E9roulante=20
dans mon datagrid.
Voici mon code :
Imports System.ComponentModel
Imports System.Web.UI
Imports System
Imports System.IO
Imports System.Web.UI.WebControls
<ToolboxData("<{0}:DataGrid runat=3Dserver></{0}:DataGrid>")
> Public Class DataGrid
Inherits System.Web.UI.WebControls.DataGrid
Protected Overrides Sub RenderChildren(ByVal output=20
As HtmlTextWriter)
If HasControls() Then
If HasControls() Then
If Controls(0).HasControls Then
Dim tt As New TableCell
Dim Tbl As New=20
System.Web.UI.WebControls.Table
Dim TblRow As New=20
System.Web.UI.WebControls.TableRow
Dim TblCell As New TableCell
Dim MyCtrl As=20
System.Web.UI.WebControls.TableCell =3D Controls(0).Controls
(0).Controls(0)
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
Pierre Lagarde [MS]
Bonjour Marc,
Tu as testé le Controls.Add() dans la fonction "protected override void OnLoad(EventArgs e)" plustôt que dans le RenderChildren ? Car le RenderChildren arrive trop tard pour gérer les événements. Bref tout ce que tu fais dans RenderChildren le faire dans OnLoad.
-- Pierre Lagarde Microsoft France
Marc R wrote:
Bonjour,
J'ai crée un contrôle serveur basé sur un datagrid, dans lequel je lui ai ajouté une liste déroulante dans la section "pager" du contrôle, ceci dans le but d'agir sur la propriété "PageSize" du datagrid.
Pour cela, j'ai trifouillé la collection "controls" du datagrid pour rajouter un "Dropdownlist" au bon endroit. J'ai ajouté également à mon dropdownlist des éléments (20,50,100,200). Jusque là tout va bien, ma liste déroulante s'affiche bien avec ses éléments à l'intérieur, mais je n'arrive absolument pas à intercepetr l'évènement "SelectIndeChanged" de ma liste déroulante dans mon datagrid.
Voici mon code :
Imports System.ComponentModel Imports System.Web.UI Imports System Imports System.IO Imports System.Web.UI.WebControls
Private WithEvents l_DropDownlistPager As System.Web.UI.WebControls.DropDownList
Public Sub New()
SetDropDownListPager()
End Sub
Protected Overrides Sub RenderChildren(ByVal output As HtmlTextWriter) If HasControls() Then If HasControls() Then If Controls(0).HasControls Then
Dim tt As New TableCell Dim Tbl As New System.Web.UI.WebControls.Table Dim TblRow As New System.Web.UI.WebControls.TableRow Dim TblCell As New TableCell
Dim MyCtrl As System.Web.UI.WebControls.TableCell = Controls(0).Controls (0).Controls(0)
Private Sub SetDropDownListPager() l_DropDownlistPager = New System.Web.UI.WebControls.DropDownList l_DropDownlistPager.Items.Add("20") l_DropDownlistPager.Items.Add("50") l_DropDownlistPager.Items.Add("100") l_DropDownlistPager.Items.Add("200") l_DropDownlistPager.AutoPostBack = True End Sub
Protected Overrides Sub Finalize() MyBase.Finalize() End Sub
End Class
Pouvez-vous m'aider, ca fait 3 jours que je suis dessus, et je n'ai plus d'idée ?
Merci de vos réponses.
Marc R
Bonjour Marc,
Tu as testé le Controls.Add() dans la fonction "protected override void
OnLoad(EventArgs e)" plustôt que dans le RenderChildren ?
Car le RenderChildren arrive trop tard pour gérer les événements.
Bref tout ce que tu fais dans RenderChildren le faire dans OnLoad.
--
Pierre Lagarde
Microsoft France
Marc R wrote:
Bonjour,
J'ai crée un contrôle serveur basé sur un datagrid, dans
lequel je lui ai ajouté une liste déroulante dans la
section "pager" du contrôle, ceci dans le but d'agir sur
la propriété "PageSize" du datagrid.
Pour cela, j'ai trifouillé la collection "controls" du
datagrid pour rajouter un "Dropdownlist" au bon endroit.
J'ai ajouté également à mon dropdownlist des éléments
(20,50,100,200).
Jusque là tout va bien, ma liste déroulante s'affiche
bien avec ses éléments à l'intérieur, mais je n'arrive
absolument pas à intercepetr
l'évènement "SelectIndeChanged" de ma liste déroulante
dans mon datagrid.
Voici mon code :
Imports System.ComponentModel
Imports System.Web.UI
Imports System
Imports System.IO
Imports System.Web.UI.WebControls
Private WithEvents l_DropDownlistPager As
System.Web.UI.WebControls.DropDownList
Public Sub New()
SetDropDownListPager()
End Sub
Protected Overrides Sub RenderChildren(ByVal output
As HtmlTextWriter)
If HasControls() Then
If HasControls() Then
If Controls(0).HasControls Then
Dim tt As New TableCell
Dim Tbl As New
System.Web.UI.WebControls.Table
Dim TblRow As New
System.Web.UI.WebControls.TableRow
Dim TblCell As New TableCell
Dim MyCtrl As
System.Web.UI.WebControls.TableCell = Controls(0).Controls
(0).Controls(0)
Private Sub SetDropDownListPager()
l_DropDownlistPager = New
System.Web.UI.WebControls.DropDownList
l_DropDownlistPager.Items.Add("20")
l_DropDownlistPager.Items.Add("50")
l_DropDownlistPager.Items.Add("100")
l_DropDownlistPager.Items.Add("200")
l_DropDownlistPager.AutoPostBack = True
End Sub
Protected Overrides Sub Finalize()
MyBase.Finalize()
End Sub
End Class
Pouvez-vous m'aider, ca fait 3 jours que je suis dessus,
et je n'ai plus d'idée ?
Tu as testé le Controls.Add() dans la fonction "protected override void OnLoad(EventArgs e)" plustôt que dans le RenderChildren ? Car le RenderChildren arrive trop tard pour gérer les événements. Bref tout ce que tu fais dans RenderChildren le faire dans OnLoad.
-- Pierre Lagarde Microsoft France
Marc R wrote:
Bonjour,
J'ai crée un contrôle serveur basé sur un datagrid, dans lequel je lui ai ajouté une liste déroulante dans la section "pager" du contrôle, ceci dans le but d'agir sur la propriété "PageSize" du datagrid.
Pour cela, j'ai trifouillé la collection "controls" du datagrid pour rajouter un "Dropdownlist" au bon endroit. J'ai ajouté également à mon dropdownlist des éléments (20,50,100,200). Jusque là tout va bien, ma liste déroulante s'affiche bien avec ses éléments à l'intérieur, mais je n'arrive absolument pas à intercepetr l'évènement "SelectIndeChanged" de ma liste déroulante dans mon datagrid.
Voici mon code :
Imports System.ComponentModel Imports System.Web.UI Imports System Imports System.IO Imports System.Web.UI.WebControls
Private WithEvents l_DropDownlistPager As System.Web.UI.WebControls.DropDownList
Public Sub New()
SetDropDownListPager()
End Sub
Protected Overrides Sub RenderChildren(ByVal output As HtmlTextWriter) If HasControls() Then If HasControls() Then If Controls(0).HasControls Then
Dim tt As New TableCell Dim Tbl As New System.Web.UI.WebControls.Table Dim TblRow As New System.Web.UI.WebControls.TableRow Dim TblCell As New TableCell
Dim MyCtrl As System.Web.UI.WebControls.TableCell = Controls(0).Controls (0).Controls(0)
Private Sub SetDropDownListPager() l_DropDownlistPager = New System.Web.UI.WebControls.DropDownList l_DropDownlistPager.Items.Add("20") l_DropDownlistPager.Items.Add("50") l_DropDownlistPager.Items.Add("100") l_DropDownlistPager.Items.Add("200") l_DropDownlistPager.AutoPostBack = True End Sub
Protected Overrides Sub Finalize() MyBase.Finalize() End Sub
End Class
Pouvez-vous m'aider, ca fait 3 jours que je suis dessus, et je n'ai plus d'idée ?
Merci de vos réponses.
Marc R
Marc R
Désolé, ça ne marche pas mieux. C'est même pire, ma liste déroulante n'est plus générée.
Marc
-----Message d'origine----- Bonjour Marc,
Tu as testé le Controls.Add() dans la
fonction "protected override void
OnLoad(EventArgs e)" plustôt que dans le RenderChildren ? Car le RenderChildren arrive trop tard pour gérer les
événements.
Bref tout ce que tu fais dans RenderChildren le faire
dans OnLoad.
-- Pierre Lagarde Microsoft France
Marc R wrote:
Bonjour,
J'ai crée un contrôle serveur basé sur un datagrid,
dans
lequel je lui ai ajouté une liste déroulante dans la section "pager" du contrôle, ceci dans le but d'agir
sur
la propriété "PageSize" du datagrid.
Pour cela, j'ai trifouillé la collection "controls" du datagrid pour rajouter un "Dropdownlist" au bon
endroit.
J'ai ajouté également à mon dropdownlist des éléments (20,50,100,200). Jusque là tout va bien, ma liste déroulante s'affiche bien avec ses éléments à l'intérieur, mais je n'arrive absolument pas à intercepetr l'évènement "SelectIndeChanged" de ma liste déroulante dans mon datagrid.
Voici mon code :
Imports System.ComponentModel Imports System.Web.UI Imports System Imports System.IO Imports System.Web.UI.WebControls
<ToolboxData("<{0}:DataGrid runat=server></
{0}:DataGrid>")
Public Class DataGrid
Inherits System.Web.UI.WebControls.DataGrid
Private WithEvents l_DropDownlistPager As System.Web.UI.WebControls.DropDownList
Public Sub New()
SetDropDownListPager()
End Sub
Protected Overrides Sub RenderChildren(ByVal output As HtmlTextWriter) If HasControls() Then If HasControls() Then If Controls(0).HasControls Then
Dim tt As New TableCell Dim Tbl As New System.Web.UI.WebControls.Table Dim TblRow As New System.Web.UI.WebControls.TableRow Dim TblCell As New TableCell
Dim MyCtrl As System.Web.UI.WebControls.TableCell = Controls
Private Sub SetDropDownListPager() l_DropDownlistPager = New System.Web.UI.WebControls.DropDownList l_DropDownlistPager.Items.Add("20") l_DropDownlistPager.Items.Add("50") l_DropDownlistPager.Items.Add("100") l_DropDownlistPager.Items.Add("200") l_DropDownlistPager.AutoPostBack = True End Sub
Protected Overrides Sub Finalize() MyBase.Finalize() End Sub
End Class
Pouvez-vous m'aider, ca fait 3 jours que je suis
dessus,
et je n'ai plus d'idée ?
Merci de vos réponses.
Marc R
.
Désolé, ça ne marche pas mieux. C'est même pire, ma liste
déroulante n'est plus générée.
Marc
-----Message d'origine-----
Bonjour Marc,
Tu as testé le Controls.Add() dans la
fonction "protected override void
OnLoad(EventArgs e)" plustôt que dans le RenderChildren ?
Car le RenderChildren arrive trop tard pour gérer les
événements.
Bref tout ce que tu fais dans RenderChildren le faire
dans OnLoad.
--
Pierre Lagarde
Microsoft France
Marc R wrote:
Bonjour,
J'ai crée un contrôle serveur basé sur un datagrid,
dans
lequel je lui ai ajouté une liste déroulante dans la
section "pager" du contrôle, ceci dans le but d'agir
sur
la propriété "PageSize" du datagrid.
Pour cela, j'ai trifouillé la collection "controls" du
datagrid pour rajouter un "Dropdownlist" au bon
endroit.
J'ai ajouté également à mon dropdownlist des éléments
(20,50,100,200).
Jusque là tout va bien, ma liste déroulante s'affiche
bien avec ses éléments à l'intérieur, mais je n'arrive
absolument pas à intercepetr
l'évènement "SelectIndeChanged" de ma liste déroulante
dans mon datagrid.
Voici mon code :
Imports System.ComponentModel
Imports System.Web.UI
Imports System
Imports System.IO
Imports System.Web.UI.WebControls
<ToolboxData("<{0}:DataGrid runat=server></
{0}:DataGrid>")
Public Class DataGrid
Inherits System.Web.UI.WebControls.DataGrid
Private WithEvents l_DropDownlistPager As
System.Web.UI.WebControls.DropDownList
Public Sub New()
SetDropDownListPager()
End Sub
Protected Overrides Sub RenderChildren(ByVal output
As HtmlTextWriter)
If HasControls() Then
If HasControls() Then
If Controls(0).HasControls Then
Dim tt As New TableCell
Dim Tbl As New
System.Web.UI.WebControls.Table
Dim TblRow As New
System.Web.UI.WebControls.TableRow
Dim TblCell As New TableCell
Dim MyCtrl As
System.Web.UI.WebControls.TableCell = Controls
Private Sub SetDropDownListPager()
l_DropDownlistPager = New
System.Web.UI.WebControls.DropDownList
l_DropDownlistPager.Items.Add("20")
l_DropDownlistPager.Items.Add("50")
l_DropDownlistPager.Items.Add("100")
l_DropDownlistPager.Items.Add("200")
l_DropDownlistPager.AutoPostBack = True
End Sub
Protected Overrides Sub Finalize()
MyBase.Finalize()
End Sub
Désolé, ça ne marche pas mieux. C'est même pire, ma liste déroulante n'est plus générée.
Marc
-----Message d'origine----- Bonjour Marc,
Tu as testé le Controls.Add() dans la
fonction "protected override void
OnLoad(EventArgs e)" plustôt que dans le RenderChildren ? Car le RenderChildren arrive trop tard pour gérer les
événements.
Bref tout ce que tu fais dans RenderChildren le faire
dans OnLoad.
-- Pierre Lagarde Microsoft France
Marc R wrote:
Bonjour,
J'ai crée un contrôle serveur basé sur un datagrid,
dans
lequel je lui ai ajouté une liste déroulante dans la section "pager" du contrôle, ceci dans le but d'agir
sur
la propriété "PageSize" du datagrid.
Pour cela, j'ai trifouillé la collection "controls" du datagrid pour rajouter un "Dropdownlist" au bon
endroit.
J'ai ajouté également à mon dropdownlist des éléments (20,50,100,200). Jusque là tout va bien, ma liste déroulante s'affiche bien avec ses éléments à l'intérieur, mais je n'arrive absolument pas à intercepetr l'évènement "SelectIndeChanged" de ma liste déroulante dans mon datagrid.
Voici mon code :
Imports System.ComponentModel Imports System.Web.UI Imports System Imports System.IO Imports System.Web.UI.WebControls
<ToolboxData("<{0}:DataGrid runat=server></
{0}:DataGrid>")
Public Class DataGrid
Inherits System.Web.UI.WebControls.DataGrid
Private WithEvents l_DropDownlistPager As System.Web.UI.WebControls.DropDownList
Public Sub New()
SetDropDownListPager()
End Sub
Protected Overrides Sub RenderChildren(ByVal output As HtmlTextWriter) If HasControls() Then If HasControls() Then If Controls(0).HasControls Then
Dim tt As New TableCell Dim Tbl As New System.Web.UI.WebControls.Table Dim TblRow As New System.Web.UI.WebControls.TableRow Dim TblCell As New TableCell
Dim MyCtrl As System.Web.UI.WebControls.TableCell = Controls
Private Sub SetDropDownListPager() l_DropDownlistPager = New System.Web.UI.WebControls.DropDownList l_DropDownlistPager.Items.Add("20") l_DropDownlistPager.Items.Add("50") l_DropDownlistPager.Items.Add("100") l_DropDownlistPager.Items.Add("200") l_DropDownlistPager.AutoPostBack = True End Sub
Protected Overrides Sub Finalize() MyBase.Finalize() End Sub