102 messaggi dal 26 maggio 2009
Ciao a tutti...

sto cercando di annidare due gridview in maniera tale da avere una situazione padre figlio

E' possibile passare l'id della tabella padre alla sql della tabella figlio???

sto tentando cosi ma non funziona
            <asp:GridView ID="GridView1" Width="700px" PageSize="100" HeaderStyle-ForeColor="#FFFFFF" HeaderStyle-BackColor="#012169" HeaderStyle-Font-Bold="true" HeaderStyle-HorizontalAlign="Center" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID_Appartenenza" DataSourceID="SqlDataSource2">
                <Columns>
                    <asp:BoundField ItemStyle-Width="1%" ItemStyle-HorizontalAlign="Right" DataField="ID_Appartenenza" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID_Appartenenza" />
                    <asp:BoundField ItemStyle-Width="98%" DataField="Descrizione" HeaderText="Descrizione Appartenenza" SortExpression="Descrizione" />
                    <asp:ButtonField ItemStyle-Width="1%" ButtonType="Button" CommandName="Select" Text="Cancella" />
                    <asp:TemplateField>
                        <ItemTemplate>

                            
                            <asp:GridView ID="GridView2" Width="700px" PageSize="100" HeaderStyle-ForeColor="#FFFFFF" HeaderStyle-BackColor="#012169" HeaderStyle-Font-Bold="true" HeaderStyle-HorizontalAlign="Center" runat="server" AllowPaging="True" AllowSorting="True" AutoGenerateColumns="False" DataKeyNames="ID_Categoria" DataSourceID="SqlDataSource4">
                                <Columns>
                                    <asp:BoundField ItemStyle-Width="1%" ItemStyle-HorizontalAlign="Right" DataField="ID_Categoria" HeaderText="ID" InsertVisible="False" ReadOnly="True" SortExpression="ID_Categoria" />
                                    <asp:BoundField ItemStyle-Width="96%" DataField="Titolo" HeaderText="Categoria" SortExpression="Titolo" />
                                    <asp:ButtonField ItemStyle-Width="1%" ButtonType="Button" CommandName="Select" Text="Cancella" />
                                </Columns>
                            </asp:GridView>
                            <asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:ReadConnectionString %>" SelectCommand="SELECT * FROM [Categorie] WHERE ID_Appartenenze = @ID ORDER BY ID_Categoria DESC">
                                <SelectParameters>
                                    <asp:ControlParameter Name="ID" ControlID="GridView1" PropertyName="SelectedValue[0]" />
                                </SelectParameters>
                            </asp:SqlDataSource>


                        </ItemTemplate>
                    </asp:TemplateField>
                </Columns>
            </asp:GridView>


            <asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:ReadConnectionString %>" SelectCommand="SELECT * FROM [Appartenenze] ORDER BY ID_Appartenenza DESC"></asp:SqlDataSource>



Grazie
Tommaso
102 messaggi dal 26 maggio 2009
RISOLTO...

Molto semplicemente basta inserire queste righe

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

        If e.Row.RowType = DataControlRowType.DataRow Then
            Dim s As SqlDataSource = CType(e.Row.FindControl("SqlDataSource4"), SqlDataSource)
            s.SelectParameters(0).DefaultValue = e.Row.Cells(0).Text
        End If

    End Sub


Grazie CMQ
Tommaso
102 messaggi dal 26 maggio 2009
Ora ho un'altro problema...

Come faccio a recuperare il valore del pulsante della seconda gridview???

Grazie
Tommaso
Modificato da tommaso2904 il 23 marzo 2012 12.09 -
102 messaggi dal 26 maggio 2009
RISOLTO ANCHE QUESTO...YUPPI...

bisogna inserire OnRowCommand="grvListaCat_RowCommand" nella gridview figlia e poi code behind si intercetta cosi

    Protected Sub grvListaCat_RowCommand(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewCommandEventArgs)

        If e.CommandName = "Select" Then

            Dim GridView2 As GridView = TryCast(sender, GridView)
            Dim ID As String = GridView2.DataKeys(Convert.ToInt32(e.CommandArgument)).Values("ID_Categoria").ToString()
            Response.Write(ID)

        End If

    End Sub


Spero che questo vi possa aiutare...
E' da una settimana che impazzivo per fare tutto sommato una cosa banale!!!

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.