none
retornar mais de uma coluna DataRow RRS feed

  • Pergunta

  • Tenho uma parte de código que é:

    var tabelasHabilitar = (from DataRow linha in table.Rows
                                          where (bool)(linha[0]) == true
                                          select (string)linha[1]);

    Ele funciona para retornar 1 coluna específica do meu DataGrid...

    Porém, preciso que me retorne 2 colunas dessa linha.... 

    Como eu posso fazer isso??

    Obrigado!


    mauropn

    terça-feira, 16 de abril de 2013 17:19

Todas as Respostas

  • Retorne um tipo anonimo e trabalhe com ele, exemplo:

    var tabelasHabilitar = (from DataRow linha in table.Rows
                            where (bool)(linha[0]) == true
                            select new 
                            { 
                                coluna1 = (bool)linha[0],
                                coluna2 = (string)linha[1]
                            });


    Vitor Mendes | Seu feedback é muito importante para todos!
    Visite o meu site: http://www.vitormendes.com.br/

    terça-feira, 16 de abril de 2013 17:29
  • Uma outra opção, caso você não queira criar um tipo anônimo é criar um objeto que contenha as propriedades para armazenar os valores e efetuar a query LINQ gerando um objeto deste tipo

    public class Dados { public bool DadoColuna1 { get; set; } public string DadoColuna2 { get; set; } }

    // ...

    // No contexto de seu código insira a query abaixo var tabelasHabilitar = (from DataRow linha in table.Rows where (bool)(linha[0]) == true select new Dados { DadoColuna1 = (bool)linha[0], DadoColuna2 = (string)linha[1] });


    segunda-feira, 3 de junho de 2013 16:38