I have a list view binded to an sqlquery to a ListView. What I want is on click to load data and display for Unitatea 1 but click on Unitatea 2 to hide data for Unitatea 1 and display data only for Unitatea 2.
HTML
<div id="DivP" runat="server">
<div class="row no-gutters">
<asp:ListView ID="LV1" runat="server">
<ItemTemplate>
<asp:TextBox ID="txtIDOB" class="hidden" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"IdOB")%>' />
<asp:Button ID="BTNObiectiv" runat="server"
Text='<%#Eval("Obiectiv")%>'
OnClick="LV1_Click"
UseSubmitBehavior="false"
Style="font-size: 11px; background-color: lightgreen" class="btn form-control form-control-sm"
data-toggle="collapse" data-target="#DivS" aria-expanded="false" aria-controls="DivS"
ClientIDMode="Static" />
<div id="DivS" runat="server" class="collapse">
<hr style="border: 1px solid #800080" />
<asp:ListView ID="LV2" runat="server">
<ItemTemplate>
<asp:TextBox ID="txtIDCL" class="hidden" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"IdCL")%>' />
<asp:Button ID="BTNCladire" runat="server"
Text='<%#Eval("Cladire")%>'
OnClick="LV2_Click"
UseSubmitBehavior="false"
Style="font-size: 11px; background-color: lightsalmon" class="btn form-control form-control-sm"
data-toggle="collapse" data-target="#DivS" aria-expanded="false" aria-controls="DivT"
ClientIDMode="Static" />
<div id="DivT" runat="server" class="collapse">
<hr style="border: 1px solid #800080" />
<asp:ListView ID="LV3" runat="server">
<ItemTemplate>
<asp:TextBox ID="txtIDCA" class="hidden" runat="server" Text='<%#DataBinder.Eval(Container.DataItem,"IdCA")%>' />
<asp:Button ID="BTNCamera" runat="server"
Text='<%#Eval("Camera")%>'
OnClick="LV3_Click"
UseSubmitBehavior="false"
Style="font-size: 11px; background-color: lightblue" class="form-control form-control-sm"
data-toggle="collapse" data-target="#DivS" aria-expanded="false" aria-controls="DivT"
ClientIDMode="Static" />
</ItemTemplate>
</asp:ListView>
<hr style="border: 1px solid #800080" />
</div>
</ItemTemplate>
</asp:ListView>
<hr style="border: 1px solid #800080" />
</div>
</ItemTemplate>
</asp:ListView>
</div>
</div>
code behind
protected void LV1_Click(object sender, EventArgs e)
{
Button cmd = (Button)sender;
ListViewItem ObiectivRow = (ListViewItem)cmd.NamingContainer;
TextBox id = (TextBox)ObiectivRow.FindControl("txtIDOB");
ListView LV2 = (ListView)ObiectivRow.FindControl("LV2");
int idob = Convert.ToInt32(id.Text);
List<SqlParameter> prm = new List<SqlParameter>
{
new SqlParameter("@IdOB", idob)
};
LV2.DataSource = GetDataTable("SELECT DISTINCT IdCL,Cladire FROM tblCladire WHERE IdOB= @IdOB;", prm);
LV2.DataBind();
}
protected void LV2_Click(object sender, EventArgs e)
{
Button cmd = (Button)sender;
ListViewItem CladireRow = (ListViewItem)cmd.NamingContainer;
TextBox id = (TextBox)CladireRow.FindControl("txtIDCL");
int idcl = Convert.ToInt32(id.Text);
ListView LstCamera = (ListView)CladireRow.FindControl("LV3");
List<SqlParameter> prm = new List<SqlParameter>
{
new SqlParameter("@IdCL", idcl)
};
LstCamera.DataSource = GetDataTable("SELECT DISTINCT IdCA,Camera FROM tblCamera WHERE IdCL =@IdCL;", prm);
LstCamera.DataBind();
}
an image of the displayed data
![](https://www.csharp.com/forums/uploadfile/2e5af2/11172024083541AM/Screenshot 2024-11-17 104034.png)