none
Preencher dropdownlist com Linq To SQL RRS feed

  • Pergunta

  • Bom dia galera...

    porque meu dropdown list nao esta recebendo os valores que eu estou dando um select como abaixo: ???

     private void VerificaTamanhosDisponiveis()
            {
                var db = new CalcadosFrancanoEntities();
    
    
                dropListaTamanho.DataSource = from t in db.TAMANHO_DO_SAPATO
                                              where t.n31 > 0 &&
                                              t.n32 > 0 &&
                                              t.n33 > 0 &&
                                              t.n34 > 0 &&
                                              t.n35 > 0 &&
                                              t.n36 > 0 &&
                                              t.n37 > 0 &&
                                              t.n38 > 0 &&
                                              t.n39 > 0 &&
                                              t.n40 > 0 &&
                                              t.n41 > 0 &&
                                              t.n42 > 0 &&
                                              t.n43 > 0 &&
                                              t.n44 > 0 &&
                                              t.n45 > 0 &&
                                              t.n46 > 0
                                              select new { t.n31, t.n32, t.n33, t.n34, t.n35, t.n36, t.n37, t.n38, t.n39, t.n40, t.n41, t.n42, t.n43, t.n44, t.n45, t.n46 };

    é uma tabela que contem o número de sapatos.

    ID_TAMANHO

    ID_NUMERO

    N31

    N32

    ...ate

    N46

    O que deveria usar para o drop receber os valores caso eles forem maior que 0(zero)

    Help!

    Att.

    (PS: Sou iniciando ainda em linq);

    domingo, 12 de agosto de 2012 14:32

Respostas

Todas as Respostas

  • Olá Leonardo,
    Tudo beleza?

    Tente o código abaixo:

    var db = new CalcadosFrancanoEntities();
    var query = (from t in db.TAMANHO_DO_SAPATO
                                  where t.n31 > 0 &&
                                        t.n32 > 0 &&
                                        t.n33 > 0 &&
                                        t.n34 > 0 &&
                                        t.n35 > 0 &&
                                        t.n36 > 0 &&
                                        t.n37 > 0 &&
                                        t.n38 > 0 &&
                                        t.n39 > 0 &&
                                        t.n40 > 0 &&
                                        t.n41 > 0 &&
                                        t.n42 > 0 &&
                                        t.n43 > 0 &&
                                        t.n44 > 0 &&
                                        t.n45 > 0 &&
                                        t.n46 > 0
                                        select new { t.n31, t.n32, t.n33, t.n34, t.n35, t.n36, t.n37, t.n38, t.n39, t.n40, t.n41, t.n42, t.n43, t.n44, t.n45, t.n46 }).ToList();
    dropListaTamanho.DataTextField = "NOME_DO_CAMPO_DO_BANCO_DE_DADOS_QUE_SERA_EXIBIDO_NO_DROPDOWNLIST"
    dropListaTamanho.DataSource = query;
    dropListaTamanho.DataBind();
    
    
    
    

    []s!

    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil


    domingo, 12 de agosto de 2012 18:42
    Moderador
  • Ola, eu esqueci do dataBind, mas mesmo assim meu drop ainda esta vazio, eu fiz isso:

    Ola o drop ainda esta vazio eu fiz isso:

     dropListaTamanho.DataTextField = ("N31" + "N32" +"N33" +"N34" +"N35" +"N36" +"N37" +"N38" +"N39" +"N40" +"N41" +"N42" +"N43" +"N44" +"N45" +"N46");
                dropListaTamanho.DataValueField = "IDT_PRODUTO";
                dropListaTamanho.DataSource = query;
                dropListaTamanho.DataBind();

    Esta correto? Abaixo esta minha tabela:

    segunda-feira, 13 de agosto de 2012 23:22
  • Olá Leonardo,

    O problema esta no DataTextField. Este campo é uma string, nele vc deve indica apenas um campo que contém o valor que vc quer apresentar.

    No caso, vc não pode concatenar o nome de diversos campos. Precisa indicar apenas um.

    No caso, o que vc gostaria de apresentar? O valor de cada campo ou os tamanhos disponíveis para cada calçado?

    Se vc quer exibir os tamanhos disponíveis eu recomendo que vc crie na sua tabela um campo com o nome "descricao" e neste campo escreva o tamanho que aquela linha corresponde, como "44", "43", "42" etc. Depois disso eu mapearia o campo para o modelo de dados e colocaria o nome desse novo campo na propriedade DataTextField do seu controle.

    Só isso.

    []s!


    Fernando Henrique Inocêncio Borba Ferreira
    Microsoft MVP - Data Platform Development
    while(alive){ this.WriteCode(); }
    Blog: http://ferhenriquef.com/
    Twitter: @ferhenrique
    Entity Framework - Brasil: https://www.facebook.com/EntityFrameworkBrasil

    terça-feira, 14 de agosto de 2012 00:22
    Moderador