Je vais tenter d'expliquer le plus simplement mon problème.
Dans ma boite, nous avons des systèmes qui sont composés de lots, lots
qui sont eux-mêmes composés d'articles.
Sur une page VB.NET, il me faut afficher cette arborescence.
Visuellement, il faudrait avoir la liste des systèmes, et un petit (+)
devant le système. Un clic sur ce (+) devrait afficher les différents
lots du système, mais un peu en décalé. Ces lots auraient également le
petit (+) devant, qui afficherait la liste des articles du lot,
également en décalé.
Ca devrait donner ça :
(+) Système 1
(+) Lot 1
Article 1
Article 2
(+) Lot 2
Article 3
Article 4
etc...
Comme les systèmes, lots et articles sont dans la même table (le type
est défini dans un champ), il me faut trois requêtes : une qui liste
tous les systèmes, une deuxième qui liste les lots du système
sélectionnée, et une troisième qui liste les articles du lot
sélectionné.
Je pensais faire ça avec des datalist imbriquées (une datalist pour le
système ; dans le selectedItemTemplate de cette datalist, une datalist
pour le lot ; et dans le selectedItemTemplate de la DL du lot, une
nouvelle DL pour l'article).
Malheureusement, j'ai remarqué que ça ne fonctionnait pas.
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
Osman MALIK [MS]
Bonjour,
Vous trouverez ici (http://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/) un article qui traite de votre besoin.
Cordialement,
Osman MALIK [MS]
"TheHach" wrote in message news:
Bonjour à tous.
Je vais tenter d'expliquer le plus simplement mon problème. Dans ma boite, nous avons des systèmes qui sont composés de lots, lots qui sont eux-mêmes composés d'articles. Sur une page VB.NET, il me faut afficher cette arborescence. Visuellement, il faudrait avoir la liste des systèmes, et un petit (+) devant le système. Un clic sur ce (+) devrait afficher les différents lots du système, mais un peu en décalé. Ces lots auraient également le petit (+) devant, qui afficherait la liste des articles du lot, également en décalé. Ca devrait donner ça :
(+) Système 1 (+) Lot 1 Article 1 Article 2 (+) Lot 2 Article 3 Article 4 etc...
Comme les systèmes, lots et articles sont dans la même table (le type est défini dans un champ), il me faut trois requêtes : une qui liste tous les systèmes, une deuxième qui liste les lots du système sélectionnée, et une troisième qui liste les articles du lot sélectionné. Je pensais faire ça avec des datalist imbriquées (une datalist pour le système ; dans le selectedItemTemplate de cette datalist, une datalist pour le lot ; et dans le selectedItemTemplate de la DL du lot, une nouvelle DL pour l'article). Malheureusement, j'ai remarqué que ça ne fonctionnait pas.
Quelqu'un aurait-il une idée à me soumettre ?
Merci d'avance !!
Bonjour,
Vous trouverez ici
(http://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/) un article qui
traite de votre besoin.
Cordialement,
Osman MALIK [MS]
"TheHach" <TheHach@thehach.com> wrote in message
news:Xns97195F9F6FC84TheHachthehachcom@194.2.0.23...
Bonjour à tous.
Je vais tenter d'expliquer le plus simplement mon problème.
Dans ma boite, nous avons des systèmes qui sont composés de lots, lots
qui sont eux-mêmes composés d'articles.
Sur une page VB.NET, il me faut afficher cette arborescence.
Visuellement, il faudrait avoir la liste des systèmes, et un petit (+)
devant le système. Un clic sur ce (+) devrait afficher les différents
lots du système, mais un peu en décalé. Ces lots auraient également le
petit (+) devant, qui afficherait la liste des articles du lot,
également en décalé.
Ca devrait donner ça :
(+) Système 1
(+) Lot 1
Article 1
Article 2
(+) Lot 2
Article 3
Article 4
etc...
Comme les systèmes, lots et articles sont dans la même table (le type
est défini dans un champ), il me faut trois requêtes : une qui liste
tous les systèmes, une deuxième qui liste les lots du système
sélectionnée, et une troisième qui liste les articles du lot
sélectionné.
Je pensais faire ça avec des datalist imbriquées (une datalist pour le
système ; dans le selectedItemTemplate de cette datalist, une datalist
pour le lot ; et dans le selectedItemTemplate de la DL du lot, une
nouvelle DL pour l'article).
Malheureusement, j'ai remarqué que ça ne fonctionnait pas.
Vous trouverez ici (http://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/) un article qui traite de votre besoin.
Cordialement,
Osman MALIK [MS]
"TheHach" wrote in message news:
Bonjour à tous.
Je vais tenter d'expliquer le plus simplement mon problème. Dans ma boite, nous avons des systèmes qui sont composés de lots, lots qui sont eux-mêmes composés d'articles. Sur une page VB.NET, il me faut afficher cette arborescence. Visuellement, il faudrait avoir la liste des systèmes, et un petit (+) devant le système. Un clic sur ce (+) devrait afficher les différents lots du système, mais un peu en décalé. Ces lots auraient également le petit (+) devant, qui afficherait la liste des articles du lot, également en décalé. Ca devrait donner ça :
(+) Système 1 (+) Lot 1 Article 1 Article 2 (+) Lot 2 Article 3 Article 4 etc...
Comme les systèmes, lots et articles sont dans la même table (le type est défini dans un champ), il me faut trois requêtes : une qui liste tous les systèmes, une deuxième qui liste les lots du système sélectionnée, et une troisième qui liste les articles du lot sélectionné. Je pensais faire ça avec des datalist imbriquées (une datalist pour le système ; dans le selectedItemTemplate de cette datalist, une datalist pour le lot ; et dans le selectedItemTemplate de la DL du lot, une nouvelle DL pour l'article). Malheureusement, j'ai remarqué que ça ne fonctionnait pas.
Quelqu'un aurait-il une idée à me soumettre ?
Merci d'avance !!
TheHach
"Osman MALIK [MS]" wrote in news:#:
Bonjour,
Vous trouverez ici (http://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/) un article qui traite de votre besoin.
Cordialement,
Osman MALIK [MS]
Merci pour votre lien. Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une datalist, C'est à dire un niveau et un sous-niveau. Moi il m'en faudrait un troisième....
"Osman MALIK [MS]" <osmalik@online.microsoft.com> wrote in
news:#gpFKh68FHA.1140@tk2msftngp13.phx.gbl:
Bonjour,
Vous trouverez ici
(http://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/) un
article qui traite de votre besoin.
Cordialement,
Osman MALIK [MS]
Merci pour votre lien.
Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une
datalist, C'est à dire un niveau et un sous-niveau.
Moi il m'en faudrait un troisième....
Vous trouverez ici (http://msdn.microsoft.com/msdnmag/issues/03/10/CuttingEdge/) un article qui traite de votre besoin.
Cordialement,
Osman MALIK [MS]
Merci pour votre lien. Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une datalist, C'est à dire un niveau et un sous-niveau. Moi il m'en faudrait un troisième....
Delf
TheHach wrote:
Merci pour votre lien. Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une datalist, C'est à dire un niveau et un sous-niveau. Moi il m'en faudrait un troisième....
Suffit de réitérer le principe, non ?
-- Delf
TheHach wrote:
Merci pour votre lien.
Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une
datalist, C'est à dire un niveau et un sous-niveau.
Moi il m'en faudrait un troisième....
Merci pour votre lien. Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une datalist, C'est à dire un niveau et un sous-niveau. Moi il m'en faudrait un troisième....
Suffit de réitérer le principe, non ?
-- Delf
TheHach
Delf wrote in news:438c0af0$0$7341 $:
TheHach wrote:
Merci pour votre lien. Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une datalist, C'est à dire un niveau et un sous-niveau. Moi il m'en faudrait un troisième....
Suffit de réitérer le principe, non ?
Euh, oui, mais non... :-) En fait, l'exemple parlait d'intégrer un datagrid dans une datalist. Moi il me faut intégrer une datalist dans une autre qui est incluse dans une troisième. Bon, le principe devrait être à peu près le même que pour un datagrid, mais l'exemple est en C# et je suis en VB. Donc un peu galère. J'ai donc réessayé d'inclure une datalist dans le SelectedItemTemplate d'une autre. J'ai créé les différents champs à partir du code HTML. Mais dans le code behind, impossible d'accéder à ma seconde datalist. Il ne la reconnait pas. Et lors que je rajoute le code suivant Protected WithEvents DataList2 As System.Web.UI.WebControls.DataList il le supprime lors de la compilation.
Voilà le code qu'il me faudrait dans le code behind pour la 1ere datalist :
Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand Select Case e.CommandName Case "select" Dim myCmd As OracleClient.OracleCommand = New OracleClient.OracleCommand
' On crée la nouvelle requête en lien avec le champ PosC de l'enregistrement courant myCmd.CommandText = "SELECT PART_NUMBER, POSITION_C, POSITION_D, POSITION_E FROM" & _ " ORDERLINE WHERE (ORDER_NUMBER = UPPER('abc0123')) AND (POSITION_C=" & CType(e.Item.FindControl("lblPosC"), Label).Text & ") AND (POSITION_D IS NOT NULL)" & _ " AND (POSITION_E IS NULL)" myCmd.Connection = Me.OracleConnection1
Dim myDS As DataSet = New DataSet Dim myOD As OracleClient.OracleDataAdapter = New OracleClient.OracleDataAdapter myOD.SelectCommand = myCmd myOD.Fill(myDS)
'On crée la 2e Datalist DataList2.DataSource = myDS DataList2.DataBind()
DataList1.SelectedIndex = e.Item.ItemIndex DataList1.DataBind() Case "unselect" DataList1.SelectedIndex = -1 DataList1.DataBind() End Select End Sub
Comme dit, ça ne fonctionne pas parce que l'objet DataList2 est inexistant pour lui. Comment faire pour que tout ça fonctionne ??? Merci d'avance !
Delf <strafer@online.fr.nospam> wrote in news:438c0af0$0$7341
$636a55ce@news.free.fr:
TheHach wrote:
Merci pour votre lien.
Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une
datalist, C'est à dire un niveau et un sous-niveau.
Moi il m'en faudrait un troisième....
Suffit de réitérer le principe, non ?
Euh, oui, mais non... :-)
En fait, l'exemple parlait d'intégrer un datagrid dans une datalist. Moi
il me faut intégrer une datalist dans une autre qui est incluse dans une
troisième. Bon, le principe devrait être à peu près le même que pour un
datagrid, mais l'exemple est en C# et je suis en VB. Donc un peu galère.
J'ai donc réessayé d'inclure une datalist dans le SelectedItemTemplate
d'une autre. J'ai créé les différents champs à partir du code HTML. Mais
dans le code behind, impossible d'accéder à ma seconde datalist. Il ne
la reconnait pas.
Et lors que je rajoute le code suivant
Protected WithEvents DataList2 As System.Web.UI.WebControls.DataList
il le supprime lors de la compilation.
Voilà le code qu'il me faudrait dans le code behind pour la 1ere
datalist :
Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As
System.Web.UI.WebControls.DataListCommandEventArgs) Handles
DataList1.ItemCommand
Select Case e.CommandName
Case "select"
Dim myCmd As OracleClient.OracleCommand = New
OracleClient.OracleCommand
' On crée la nouvelle requête en lien avec le champ PosC
de l'enregistrement courant
myCmd.CommandText = "SELECT PART_NUMBER, POSITION_C,
POSITION_D, POSITION_E FROM" & _
" ORDERLINE WHERE (ORDER_NUMBER = UPPER('abc0123')) AND
(POSITION_C=" & CType(e.Item.FindControl("lblPosC"), Label).Text & ")
AND (POSITION_D IS NOT NULL)" & _
" AND (POSITION_E IS NULL)"
myCmd.Connection = Me.OracleConnection1
Dim myDS As DataSet = New DataSet
Dim myOD As OracleClient.OracleDataAdapter = New
OracleClient.OracleDataAdapter
myOD.SelectCommand = myCmd
myOD.Fill(myDS)
'On crée la 2e Datalist
DataList2.DataSource = myDS
DataList2.DataBind()
DataList1.SelectedIndex = e.Item.ItemIndex
DataList1.DataBind()
Case "unselect"
DataList1.SelectedIndex = -1
DataList1.DataBind()
End Select
End Sub
Comme dit, ça ne fonctionne pas parce que l'objet DataList2 est
inexistant pour lui.
Comment faire pour que tout ça fonctionne ???
Merci d'avance !
Merci pour votre lien. Mais ceci ne me permettrait uniquement d'insérer un datagrid dans une datalist, C'est à dire un niveau et un sous-niveau. Moi il m'en faudrait un troisième....
Suffit de réitérer le principe, non ?
Euh, oui, mais non... :-) En fait, l'exemple parlait d'intégrer un datagrid dans une datalist. Moi il me faut intégrer une datalist dans une autre qui est incluse dans une troisième. Bon, le principe devrait être à peu près le même que pour un datagrid, mais l'exemple est en C# et je suis en VB. Donc un peu galère. J'ai donc réessayé d'inclure une datalist dans le SelectedItemTemplate d'une autre. J'ai créé les différents champs à partir du code HTML. Mais dans le code behind, impossible d'accéder à ma seconde datalist. Il ne la reconnait pas. Et lors que je rajoute le code suivant Protected WithEvents DataList2 As System.Web.UI.WebControls.DataList il le supprime lors de la compilation.
Voilà le code qu'il me faudrait dans le code behind pour la 1ere datalist :
Private Sub DataList1_ItemCommand(ByVal source As Object, ByVal e As System.Web.UI.WebControls.DataListCommandEventArgs) Handles DataList1.ItemCommand Select Case e.CommandName Case "select" Dim myCmd As OracleClient.OracleCommand = New OracleClient.OracleCommand
' On crée la nouvelle requête en lien avec le champ PosC de l'enregistrement courant myCmd.CommandText = "SELECT PART_NUMBER, POSITION_C, POSITION_D, POSITION_E FROM" & _ " ORDERLINE WHERE (ORDER_NUMBER = UPPER('abc0123')) AND (POSITION_C=" & CType(e.Item.FindControl("lblPosC"), Label).Text & ") AND (POSITION_D IS NOT NULL)" & _ " AND (POSITION_E IS NULL)" myCmd.Connection = Me.OracleConnection1
Dim myDS As DataSet = New DataSet Dim myOD As OracleClient.OracleDataAdapter = New OracleClient.OracleDataAdapter myOD.SelectCommand = myCmd myOD.Fill(myDS)
'On crée la 2e Datalist DataList2.DataSource = myDS DataList2.DataBind()
DataList1.SelectedIndex = e.Item.ItemIndex DataList1.DataBind() Case "unselect" DataList1.SelectedIndex = -1 DataList1.DataBind() End Select End Sub
Comme dit, ça ne fonctionne pas parce que l'objet DataList2 est inexistant pour lui. Comment faire pour que tout ça fonctionne ??? Merci d'avance !
Delf
TheHach wrote:
[...]
Si j'étais toi, je passerai par plusieurs contrôles utilisateur.
- 1 contrôle 'Article' - 1 contrôle 'Lot', utilisant le contrôle 'Article' - 1 contrôle 'Système' utilisant le contrôle 'Lot'
Dans la page principal, j'utiliserais un PlaceHolder (ou DataList) qui afficherait les contrôles 'Systèmes'...
Bref, c'est p'tre pas clair, je peux te faire un court exemple si tu le souhaites mais en C#.
Si ça t'intéresse, send moi un mail sur strafer ATE online DOTE fr et mets dans le sujet [DOTNET] sinon ça va finir dans la boîte à spam :)
-- Delf
TheHach wrote:
[...]
Si j'étais toi, je passerai par plusieurs contrôles utilisateur.
- 1 contrôle 'Article'
- 1 contrôle 'Lot', utilisant le contrôle 'Article'
- 1 contrôle 'Système' utilisant le contrôle 'Lot'
Dans la page principal, j'utiliserais un PlaceHolder (ou DataList) qui
afficherait les contrôles 'Systèmes'...
Bref, c'est p'tre pas clair, je peux te faire un court exemple si tu le
souhaites mais en C#.
Si ça t'intéresse, send moi un mail sur strafer ATE online DOTE fr et
mets dans le sujet [DOTNET] sinon ça va finir dans la boîte à spam :)