nakid.mkt 0 Denunciar post Postado Abril 28, 2011 Pessoal, estou tentando fazer uma cascata de checkbox como: http://www.sebdigital.com.br/imagens/CascataCheckBox.jpg Pensei em trabalhar com repeater, com as cidades dentro de <ul> como: <ul> <li>São Paulo</li> <li> <ul> <li>Campinas</li> <li>Santos</li> <li>Ribeirão Preto</li> </ul> </li> </il> Mas não estou conseguindo estruturas os componentes. Sou iniciante em ASP.Net e em PHP isso era tão fácil... não estou conseguindo nem atribuir o value no componente checkbox <asp:CheckBox ID="CheckBox1" runat="server" /> no html é <input type="checkbox" value="simples assim"> Algum norte? Obrigado. Compartilhar este post Link para o post Compartilhar em outros sites
João Arruda 0 Denunciar post Postado Abril 29, 2011 Porque não fazer em HTML? Compartilhar este post Link para o post Compartilhar em outros sites
Murilo Eduardo B. Santos 0 Denunciar post Postado Abril 29, 2011 o CheckBox tem a propriedade Checked=true ou Checked=false <asp:CheckBox ID="Campinas" runat="server" checked="true" /> então se quiser usar vai ter que usar assim e sair comparado o que precisar, tipo em VB: if (Campinas.Checked = true)then 'comandos ElseIf (RibPreto.Checked=true)then 'comandos End If Compartilhar este post Link para o post Compartilhar em outros sites
eriva_br 7 Denunciar post Postado Abril 29, 2011 uma opção seria utiliza o objeto treeview: http://forum.imasters.com.br/topic/269401-aspnet-carregar-e-buscar-na-treeview/ e pra fazer o check ALL: http://forums.asp.net/t/976122.aspx Compartilhar este post Link para o post Compartilhar em outros sites
nakid.mkt 0 Denunciar post Postado Abril 29, 2011 uma opção seria utiliza o objeto treeview: http://forum.imasters.com.br/topic/269401-aspnet-carregar-e-buscar-na-treeview/ e pra fazer o check ALL: http://forums.asp.net/t/976122.aspx Obrigado Pessoal João, Html Não Dá porque meus dados vem do banco de dados. Murilo, meu problema é atribuir value="" no checkbox, e não checked="true". Mas parece que com asp.net o método é outro. Acho que eu estou tentando programar em Sap.Net com pensamento de PHP. Eriva, obrigado pela dica. Muito interessante mesmo seu artigo. Problemas no meu caso. 1) Uso relacionamento n pra n, e esse método de treeview só aceia 1 pra n. Pelo menos foi a mensagem de erro retornado na minha aplicação. 2) Uma coisa que eu acho muito ruim no ASP.Net é que ele tem tudo pronto (isso é muito bom), mas de um jeito que você fica refém do componente. Por exemplo: a TreeView é muito interessante mas usa Table. Eu não quero usar table. Fica com uma formatação de css que já está definida pra listagens, enfim. Quero usar <ul><li></li></ul>. Obrigado por hora. Compartilhar este post Link para o post Compartilhar em outros sites
nakid.mkt 0 Denunciar post Postado Abril 29, 2011 Estou chegando numa solução: no aspx: <asp:Repeater ID="rptEstado" runat="server" onitemdatabound="rptEstado_ItemDataBound"> <HeaderTemplate> <ul ID="publicacao"> </HeaderTemplate> <ItemTemplate> <li> <asp:CheckBox ID="cbEstado" runat="server" /> <asp:Label ID="lbEstado" runat="server" Text='<%# Eval("Nome").ToString() %>'></asp:Label> </li> <li> <asp:Repeater ID="rptCidade" runat="server"> <HeaderTemplate> <ul> </HeaderTemplate> <ItemTemplate> <li> <asp:CheckBox ID="cbCidade" runat="server" /> <asp:Label ID="lbCidade" runat="server" Text='<%# Eval("NomeSite").ToString() %>'></asp:Label> </li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> </li> </ItemTemplate> <FooterTemplate> </ul> </FooterTemplate> </asp:Repeater> No aspx.cs: //chamada no onPageLoad private void carregarEstados() { DataTable dtEstados = new DataTable(); try { conexao = bancoDeDados.abrirConexao(); sql.Connection = conexao; sql.CommandType = CommandType.Text; sql.CommandText = "Select * from Estados"; dtEstados .Load(sql.ExecuteReader()); rptEstado.DataSource = dtEstados ; rptEstado.DataBind(); } catch { } finally { bancoDeDados.fecharConexao(conexao); } return; } protected void rptEstado_ItemDataBound(object sender, RepeaterItemEventArgs e) { DataTable dtCidade = new DataTable(); Repeater rptCidade = (Repeater)e.Item.FindControl("rptCidade"); try { conexao = bancoDeDados.abrirConexao(); sql.Connection = conexao; sql.CommandType = CommandType.Text; sql.CommandText = "Select Cidade.Nome, Cidade.IdCidade From Cidade Where IdEstado = 3"; dtCidade .Load(sql.ExecuteReader()); rptCidade.DataSource = dtCidade ; rptCidade.DataBind(); } catch { } finally { bancoDeDados.fecharConexao(conexao); } return; } Onde estou parado: O meu sql sempre pega o id = 3 para Estado... esse id tem que ser o id do estado listado naquela linha. Que vem um id diferente em cada dataBound. Alguma Luz? Compartilhar este post Link para o post Compartilhar em outros sites