none
Recuperar Controle RepeaterFilho RRS feed

  • Pergunta

  • Pessoal como recupero um controle no itemdatabound , no repeater filho e aplicando uma condicao se minha tabela for D textbox = true..

    o datasource do repeater e um dataset.

    obrigado.

    sexta-feira, 19 de outubro de 2012 18:14

Todas as Respostas

  • repeater filho seria....?
    um repeater dentro de outro?

    A resposta foi útil? Marque-a para que outros possam utiliza-la também!

    sexta-feira, 19 de outubro de 2012 19:45
  • Sim.

    Repeater tem duas tabelas pai e uma filho, utilizei o dataset relations.

    sexta-feira, 19 de outubro de 2012 19:52
  • pessoal sou iniciante na linguagem e nunca fiz isso, a logica da minha tabela seria essa, eu consegui com dataset relations , mas nao consigo aplicar a logica no item data bound filho.

    nesse cenario qual a melhor alternativa:

    tb_itens      
    pk
    id_item ds_item nro_item
    1 Qual sua idade? 1
    tb_subitens      
    pk
    id_subitem id_item ds_subitem tipo
    1 1 pai d
    2 1 mae d
    no sistema   ficaria assim
    nro_item ds_item respostas
    1 Qual a idade? pai :TextBox
    mae :TextBox

    sábado, 20 de outubro de 2012 23:29
  • amigo você pode fazer um foreach, procurar a condição desejada e alterar o repeater filho, tudo isso server-side.

     

     

    TextBox txNome = null; foreach (RepeaterItem item in rptPai.Items) {

    //AQUI VC APLICA SUA LOGICA
    TextBox control=(TextBox)item.FindControl("txNome ");
    if (control == "") { control= "OK"; break; } }



    Rafael Boschini

    quarta-feira, 24 de outubro de 2012 17:25
  • Amigos obrigado pela atencao,nao estava conseguindo pois minha variavel tipo string tinha espaco, sendo assim usei o trim() e a condicao funciono codigo abaixo:



     if ((e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem))
            {
                DataRowView dr = (DataRowView)e.Item.DataItem;
    
                Label weiLabel = (Label)e.Item.FindControl("weiLabel");
                TextBox TXT = (TextBox)e.Item.FindControl("TextBox1");
                weiLabel.Text = dr["tipo"].ToString();
    
                if (dr["tipo"].ToString().Trim() == "D")
                {
                    TXT.Visible = true;
                }  
    
            }
    Obrigado pessoal.
    sábado, 10 de novembro de 2012 23:40