Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Pb Gridview

3 réponses
Avatar
Emilie
Bonjour



Je veux créer un gridview (1 colonnne) imbriqué : GdvMarque avec un
AccessDataSource : AdsRayon, dans un GridView (2 colonnes) parent :
GdvOffreFourn avec un AccessDataSource : AdsMarque



Je veux afficher dans GdvMarque les marques correspondant à IDrayon de
AdsMarque et AdsRayon, quand je lance l'appli j'ai le message suivant :



La référence d'objet n'est pas définie à une instance d'un objet.



Voici mon code



VB :



Protected Sub GdvOffreFourn_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GdvOffreFourn.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then

Dim s As AccessDataSource =
CType(e.Row.FindControl("AdsMarque"), AccessDataSource)

s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text

End If

End Sub



ASP :



<asp:AccessDataSource ID="AdsRayon" runat="server"

DataFile="~/Produits.mdb"

SelectCommand="SELECT * FROM [Fournisseurs_Rayons] WHERE ([IDfournisseur] =
?)">

<SelectParameters>

<asp:SessionParameter Name="IDfournisseur" SessionField="IDfournisseur"

Type="String" />

</SelectParameters>

</asp:AccessDataSource>

<asp:AccessDataSource ID="AdsMarque" runat="server"

DataFile="~/ Produits.mdb "

SelectCommand="SELECT * FROM [Fournisseurs_Marques] WHERE ([IDrayon] =
'{0}')">

<SelectParameters>

<asp:SessionParameter Name="IDrayon" SessionField="IDrayon"

Type="String" />

</SelectParameters>

</asp:AccessDataSource>



Pouvez-vous me dire ou est l'erreur

Merci pour votre aide

Emilie

3 réponses

Avatar
jchtible
Hum ... je ne vois pas trop ce que tu veux faire exactement mais une chose
utile serait de "tester" certaines variable de ton code vb.

Voila un petit arragement maison de ton code:


Protected Sub GdvOffreFourn_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GdvOffreFourn.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then


Dim s As AccessDataSource = CType(e.Row.FindControl("AdsMarque"),
AccessDataSource)

If s IsNot Nothing Then
if e.Row.Cells(0) IsNot Nothing

s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text
End if
End if

End If

End Sub


"Emilie" wrote:

Bonjour



Je veux créer un gridview (1 colonnne) imbriqué : GdvMarque avec un
AccessDataSource : AdsRayon, dans un GridView (2 colonnes) parent :
GdvOffreFourn avec un AccessDataSource : AdsMarque



Je veux afficher dans GdvMarque les marques correspondant à IDrayon de
AdsMarque et AdsRayon, quand je lance l'appli j'ai le message suivant :



La référence d'objet n'est pas définie à une instance d'un objet.



Voici mon code



VB :



Protected Sub GdvOffreFourn_RowDataBound(ByVal sender As Object, ByVal e As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GdvOffreFourn.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then

Dim s As AccessDataSource > CType(e.Row.FindControl("AdsMarque"), AccessDataSource)

s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text

End If

End Sub



ASP :



<asp:AccessDataSource ID="AdsRayon" runat="server"

DataFile="~/Produits.mdb"

SelectCommand="SELECT * FROM [Fournisseurs_Rayons] WHERE ([IDfournisseur] > ?)">

<SelectParameters>

<asp:SessionParameter Name="IDfournisseur" SessionField="IDfournisseur"

Type="String" />

</SelectParameters>

</asp:AccessDataSource>

<asp:AccessDataSource ID="AdsMarque" runat="server"

DataFile="~/ Produits.mdb "

SelectCommand="SELECT * FROM [Fournisseurs_Marques] WHERE ([IDrayon] > '{0}')">

<SelectParameters>

<asp:SessionParameter Name="IDrayon" SessionField="IDrayon"

Type="String" />

</SelectParameters>

</asp:AccessDataSource>



Pouvez-vous me dire ou est l'erreur

Merci pour votre aide

Emilie






Avatar
Emilie
Bonjour et merci pour ta réponse

j'ai modifié le code et la condition :
If e.Row.RowType = DataControlRowType.DataRow Then
n'est pas remplie, cela passe directement au end if

Le gridview rayon est rempli
mais le Gridview marque ne s'affiche pas

Cordialement
Emilie
"jchtible" a écrit dans le message de
news:

Hum ... je ne vois pas trop ce que tu veux faire exactement mais une chose
utile serait de "tester" certaines variable de ton code vb.

Voila un petit arragement maison de ton code:


Protected Sub GdvOffreFourn_RowDataBound(ByVal sender As Object, ByVal e
As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GdvOffreFourn.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then


Dim s As AccessDataSource = CType(e.Row.FindControl("AdsMarque"),
AccessDataSource)

If s IsNot Nothing Then
if e.Row.Cells(0) IsNot Nothing

s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text
End if
End if

End If

End Sub


"Emilie" wrote:

Bonjour



Je veux créer un gridview (1 colonnne) imbriqué : GdvMarque avec un
AccessDataSource : AdsRayon, dans un GridView (2 colonnes) parent :
GdvOffreFourn avec un AccessDataSource : AdsMarque



Je veux afficher dans GdvMarque les marques correspondant à IDrayon de
AdsMarque et AdsRayon, quand je lance l'appli j'ai le message suivant :



La référence d'objet n'est pas définie à une instance d'un objet.



Voici mon code



VB :



Protected Sub GdvOffreFourn_RowDataBound(ByVal sender As Object, ByVal e
As
System.Web.UI.WebControls.GridViewRowEventArgs) Handles
GdvOffreFourn.RowDataBound

If e.Row.RowType = DataControlRowType.DataRow Then

Dim s As AccessDataSource >> CType(e.Row.FindControl("AdsMarque"), AccessDataSource)

s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text

End If

End Sub



ASP :



<asp:AccessDataSource ID="AdsRayon" runat="server"

DataFile="~/Produits.mdb"

SelectCommand="SELECT * FROM [Fournisseurs_Rayons] WHERE ([IDfournisseur]
>> ?)">

<SelectParameters>

<asp:SessionParameter Name="IDfournisseur" SessionField="IDfournisseur"

Type="String" />

</SelectParameters>

</asp:AccessDataSource>

<asp:AccessDataSource ID="AdsMarque" runat="server"

DataFile="~/ Produits.mdb "

SelectCommand="SELECT * FROM [Fournisseurs_Marques] WHERE ([IDrayon] >> '{0}')">

<SelectParameters>

<asp:SessionParameter Name="IDrayon" SessionField="IDrayon"

Type="String" />

</SelectParameters>

</asp:AccessDataSource>



Pouvez-vous me dire ou est l'erreur

Merci pour votre aide

Emilie








Avatar
jchtible
A mon (humble) avis, la condition sur le type de Row ne sert pas à grand
chose ...



"Emilie" wrote:

Bonjour et merci pour ta réponse

j'ai modifié le code et la condition :
If e.Row.RowType = DataControlRowType.DataRow Then
n'est pas remplie, cela passe directement au end if

Le gridview rayon est rempli
mais le Gridview marque ne s'affiche pas

Cordialement
Emilie
"jchtible" a écrit dans le message de
news:
>
> Hum ... je ne vois pas trop ce que tu veux faire exactement mais une chose
> utile serait de "tester" certaines variable de ton code vb.
>
> Voila un petit arragement maison de ton code:
>
>
> Protected Sub GdvOffreFourn_RowDataBound(ByVal sender As Object, ByVal e
> As
> System.Web.UI.WebControls.GridViewRowEventArgs) Handles
> GdvOffreFourn.RowDataBound
>
> If e.Row.RowType = DataControlRowType.DataRow Then
>
>
> Dim s As AccessDataSource = CType(e.Row.FindControl("AdsMarque"),
> AccessDataSource)
>
> If s IsNot Nothing Then
> if e.Row.Cells(0) IsNot Nothing
>
> s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text
> End if
> End if
>
> End If
>
> End Sub
>
>
> "Emilie" wrote:
>
>> Bonjour
>>
>>
>>
>> Je veux créer un gridview (1 colonnne) imbriqué : GdvMarque avec un
>> AccessDataSource : AdsRayon, dans un GridView (2 colonnes) parent :
>> GdvOffreFourn avec un AccessDataSource : AdsMarque
>>
>>
>>
>> Je veux afficher dans GdvMarque les marques correspondant à IDrayon de
>> AdsMarque et AdsRayon, quand je lance l'appli j'ai le message suivant :
>>
>>
>>
>> La référence d'objet n'est pas définie à une instance d'un objet.
>>
>>
>>
>> Voici mon code
>>
>>
>>
>> VB :
>>
>>
>>
>> Protected Sub GdvOffreFourn_RowDataBound(ByVal sender As Object, ByVal e
>> As
>> System.Web.UI.WebControls.GridViewRowEventArgs) Handles
>> GdvOffreFourn.RowDataBound
>>
>> If e.Row.RowType = DataControlRowType.DataRow Then
>>
>> Dim s As AccessDataSource > >> CType(e.Row.FindControl("AdsMarque"), AccessDataSource)
>>
>> s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text
>>
>> End If
>>
>> End Sub
>>
>>
>>
>> ASP :
>>
>>
>>
>> <asp:AccessDataSource ID="AdsRayon" runat="server"
>>
>> DataFile="~/Produits.mdb"
>>
>> SelectCommand="SELECT * FROM [Fournisseurs_Rayons] WHERE ([IDfournisseur]
>> > >> ?)">
>>
>> <SelectParameters>
>>
>> <asp:SessionParameter Name="IDfournisseur" SessionField="IDfournisseur"
>>
>> Type="String" />
>>
>> </SelectParameters>
>>
>> </asp:AccessDataSource>
>>
>> <asp:AccessDataSource ID="AdsMarque" runat="server"
>>
>> DataFile="~/ Produits.mdb "
>>
>> SelectCommand="SELECT * FROM [Fournisseurs_Marques] WHERE ([IDrayon] > >> '{0}')">
>>
>> <SelectParameters>
>>
>> <asp:SessionParameter Name="IDrayon" SessionField="IDrayon"
>>
>> Type="String" />
>>
>> </SelectParameters>
>>
>> </asp:AccessDataSource>
>>
>>
>>
>> Pouvez-vous me dire ou est l'erreur
>>
>> Merci pour votre aide
>>
>> Emilie
>>
>>
>>
>>