Ajuda com CheckBoxList e Entity

30/10/2012

Colegas desenvolvedores, gostaria de uma ajuda de vcs.

Eu tenho um CheckBoxList com dois valores Credito value="C" e Debito value="D", sendo que as vezes irei escolher os dois?

Como pegar os valores e passar para o entity.

EscolaEntities db = new EscolaEntities();

int wUnidade = Convert.ToInt16(dpUnidades.SelectedValue);

int wCategoria = Convert.ToInt16(dpCategorias.SelectedValue);

string wTipo = CheckBoxList1.SelectedValue;

var pesquisa = from l in db.TBL_ENTRADA_SAIDA
join u in db.TBL_UNIDADES
on l.ID_UNIDADE equals u.ID

where (l.DATA >= txtDataInicial.Value && l.DATA <= txtDataFinal.Value) && (l.ID_UNIDADE == wIgreja && l.FORMA == wTIPO)

orderby l.DATA

select new
{
l.DATA,
u.UNIDADE,
l.TIPO,
l.DESCRICAO,
l.VALOR
};

gvDados.DataSource = pesquisa;
gvDados.DataBind();

Paulo Freire

Currículo

Respostas

31/10/2012

Robson Robsonalves.net

Colegas desenvolvedores, gostaria de uma ajuda de vcs. Eu tenho um CheckBoxList com dois valores Credito value="C" e Debito value="D", sendo que as vezes irei escolher os dois? Como pegar os valores e passar para o entity. EscolaEntities db = new EscolaEntities(); int wUnidade = Convert.ToInt16(dpUnidades.SelectedValue); int wCategoria = Convert.ToInt16(dpCategorias.SelectedValue); string wTipo = CheckBoxList1.SelectedValue; var pesquisa = from l in db.TBL_ENTRADA_SAIDA join u in db.TBL_UNIDADES on l.ID_UNIDADE equals u.ID where (l.DATA >= txtDataInicial.Value && l.DATA <= txtDataFinal.Value) && (l.ID_UNIDADE == wIgreja && l.FORMA == wTIPO) orderby l.DATA select new { l.DATA, u.UNIDADE, l.TIPO, l.DESCRICAO, l.VALOR }; gvDados.DataSource = pesquisa; gvDados.DataBind();


Para pegar os valores:

   bool firstItem = CheckBoxList1.Items[0].Selected;
   bool secondItem = CheckBoxList1.Items[1].Selected;



Você pode tentar implementar uma função via foreach, mas o propósito é mais simples, o foreach complicaria um pouco.

No seu linq você precisa passar ambos os parâmetros

eu faria:

 
where (l.DATA >= txtDataInicial.Value && l.DATA <= txtDataFinal.Value) && (l.ID_UNIDADE == wIgreja && (l.FORMA.Contains(wTIPO) || i.FORMA.Contains(wTIPO2))


Ele valida a condição interna e depois a externa. não sei como está sua estrutura de dados, então você ve a melhor lógica.
Responder Citar

08/11/2012

Paulo Freire Currículo

Obrigado Robson, deu certo.
Responder Citar

12/11/2012

Joel Rodrigues

Encerrando o tópico...
Responder Citar