Помоги с Гридвьев Экспанд Collapse

Что такой у меня есть griview в ASP.NET с c#, который приносит info BD SQL Server, что я пробую сделать, - нечто похожее что-либо подобное, я вел себя на этой странице, но дав клик в изображении "больше", он показывает мне второй быстрый gridview и исчезает кроме того, что он не позволяет мне открывать остальные линии, только одна до тех пор, пока он вновь не перезагрузит страницу, nose, если я объясняюсь хорошо. Здесь я оставляю мой код, с которым я основываюсь на уже упомянутых соединениях.

introducir la descripción de la imagen aquí

<div>
<asp:UpdatePanel ID="UDP" runat="server">
<ContentTemplate>
<asp:GridView ID="GridView1" runat="server" ShowHeaderFilterButton="true" AutoGenerateColumns="False" OnRowCommand="GridView1_OnRowCommand" OnRowDataBound="GridView1_RowDataBound" DataKeyNames="Codigo1,Codigo2">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<img alt="" style="cursor: pointer; width:10%; height:6%; margin:0;padding:0;" src="../../Image/icon_plus.png" />
<asp:Panel ID="pnlDatos" runat="server" Style="display: none">

<asp:GridView ID="Gridview3" runat="server" autoGenerateColumns="false">
<Columns>
<asp:BoundField DataField="Sector" HeaderText="Sector" SortExpression="Sector" />
<asp:BoundField DataField="" HeaderText="Pronostico" SortExpression="" DataFormatString="{0:N0}" />
<asp:BoundField DataField="" HeaderText="Entrega" SortExpression="Entregado" DataFormatString="{0:N0}" />
<asp:BoundField DataField="" HeaderText="Total" sortExpression="Total" />
</Columns>
</asp:GridView>

</asp:Panel>
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField DataField="Codigo1" HeaderText="Codigo1" SortExpression="Codigo1" />
<asp:BoundField DataField="Nombre" HeaderText="Nombre" SortExpression="Nombre" />
<asp:BoundField DataField="Codigo2" HeaderText="Codigo2" SortExpression="Codigo2" />
<asp:BoundField DataField="Descripcion" HeaderText="Nombre" SortExpression="Descripcion" />                            
<asp:BoundField DataField="Hectareas" HeaderText="Ha" sortExpression="Hectareas" DataFormatString="{0:N1}" />
</Columns>
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>

   <script type="text/javascript">
    $("[src*=plus]").on("click", function () {
        $(this).closest("tr").after("<tr><td></td><td colspan = '999'>" + $(this).next().html() + "</td></tr>")
        $(this).attr("src", "../../Image/icon_minus.png");
    });
    $("[src*=minus]").on("click", function () {
        $(this).attr("src", "../../Image/icon_plus.png");
        $(this).closest("tr").next().remove();
    });
</script>

С методом RowDataBound я наполняю gridview, который я хочу показать с datakeynames gridview1

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
try
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
codigo1 = GridView1.DataKeys[index].Values[0].ToString();
codigo2 = GridView1.DataKeys[index].Values[1].ToString(); 
GridView Gridview3 = e.Row.FindControl("Gridview3") as GridView;   string query = "select * from tabla..etc where codigo1 = '" + codigo1 +"' and codigo2 = "+codigo2+"";
SqlCommand cm = new SqlCommand(query, con);
cm.CommandTimeout = 0;
SqlDataAdapter da = new SqlDataAdapter(cm);
dt = new DataTable();
da.Fill(dt);                    
Gridview3.DataSource=dt;
Gridview3.DataBind();                   
}
}
catch (Exception ex)
{
ex.ToString();
}
}

Спасибо.

5
задан 20.06.2019, 17:49
0 ответов