Senhores, boa tarde.
Preciso de ajuda com um código que está me deixando perplexo: sou novato em C# e estou batendo cabeça em alguns pontos e preciso de socorro. No projeto tenho um formulário simples e um data source de uma tabela ligada no SQL Server. Nesse formulário tenho
uma grid e três text boxes: a grid e 2 text boxes estão com binding para o mesmo data source; o outro text box é para digitar a pesquisa.
Meu objetivo é que o usuário digite a pesquisa no text box e seja feito um filtro no bindingsource através de LINQ. Segue o código:
private void Pesquisar()
{
if (string.IsNullOrEmpty(toolStripTextBox1.Text))
{
var query = from v in coletasDataSet.UF
select v;
this.ufBindingSource.DataSource = query.ToList();
}
else
{
string pesquisa = toolStripTextBox1.Text.ToLower().Trim();
var query = from v in coletasDataSet.UF
where v.UF.ToLower().Contains(pesquisa)
select v;
this.ufBindingSource.DataSource = query.ToList();
}
}
O problema é que quando faço a pesquisa a grid simplesmente não mostra dado algum. Ele mantém as 2 colunas (UF e ID_UF) e uma linha em branco. Eu já fiz o debug e conferi o resultado da query e ela está vindo corretamente. Alguma sugestão do que possa ser
o problema? Detalhe: não posso passar a query.ToList() pra grid pois assim teria os text boxes com o bind mostrando um conjunto de dados e a grid mostrando outro.
Agradeço a todos pela ajuda!
Abração,
Willian Lopes