BINDINGSOURCE -> BINDINGLIST
Tenho o código abaixo:
Acontece que quando informo na expressão lambda o ValorBuscar, cujo valor não esteja no retorno dos dados (um código inexistente), ocorre um erro devido o dados.datasource estar vinculado a um datagridview.
Seguinte erro:
Não é possÃÂvel ligar àpropriedade ou àcoluna codigo_produto em DataSource.
Nome do parâmetro: dataMember
Se o código informado no valor de busca existir, o datagridview é populado corretamente.
como faço para contornar isso?
Obrigado.
Dim dados As New BindingSource
Dim dfep As New Desconto_Financeiro_Excecao_Produtos
dados.DataSource = New BindingList(Of Desconto_Financeiro_Excecao_Produtos)(dfep.Lista(txtCodigo_Parceiro.Text, Codigo_Produto, True, False)).Where(Function(x) x.Codigo_Produto = ValorBuscar)
/Acontece que quando informo na expressão lambda o ValorBuscar, cujo valor não esteja no retorno dos dados (um código inexistente), ocorre um erro devido o dados.datasource estar vinculado a um datagridview.
Seguinte erro:
Não é possÃÂvel ligar àpropriedade ou àcoluna codigo_produto em DataSource.
Nome do parâmetro: dataMember
Se o código informado no valor de busca existir, o datagridview é populado corretamente.
como faço para contornar isso?
Obrigado.
Faça a lista numa variável e passe a variável para o datasource, verificando antes se não está null
KERPLUNK, consegui o resultado esperado no seguinte código, porém duas questões:
1. No objeto List não consigo usar expressão lambda. Então usei outro objeto "myLista" que retona o filtro usando expressão lambda
2. No objeto "myLista" como faço para verificar se está em branco, não tem a propriedade "Cont" no mesmo. Tinha pensado em algo "myLista.Count <=0"
Obrigado.
1. No objeto List não consigo usar expressão lambda. Então usei outro objeto "myLista" que retona o filtro usando expressão lambda
2. No objeto "myLista" como faço para verificar se está em branco, não tem a propriedade "Cont" no mesmo. Tinha pensado em algo "myLista.Count <=0"
Dim lista As New List(Of Desconto_Financeiro_Excecao_Produtos)()
lista = (New List(Of Desconto_Financeiro_Excecao_Produtos)(dfep.Lista(txtCodigo_Parceiro.Text, Codigo_Produto, True, False)))
Dim mylista
mylista = (New BindingList(Of Desconto_Financeiro_Excecao_Produtos)(lista)).Where(Function(x) x.Codigo_Produto = Busca)
Obrigado.
Precisava fazer a consulta da seguinte forma:
lista = lista.FindAll(Function(x) x.Descricao_Produto like ""%texto%a%procurar%"")
Exatamente igual no SQL, de forma que localize a palavra inteira ou parte da palavra.
lista = lista.FindAll(Function(x) x.Descricao_Produto like ""%texto%a%procurar%"")
Exatamente igual no SQL, de forma que localize a palavra inteira ou parte da palavra.
Acho que usando os coringas consegue esse resultado que quer
dim busca as string
busca = "texto a procurar"
busca = "*" & busca.Replace(" ", "*") & "*"
mylista = (New BindingList(Of Desconto_Financeiro_Excecao_Produtos)(lista)).Where(Function(x) x.Codigo_Produto.Contains(busca)
dim busca as string
busca = "texto a procurar"
busca = "*" & busca.Replace(" ", "*") & "*"
mylista = (New BindingList(Of Desconto_Financeiro_Excecao_Produtos)(lista)).Where(Function(x) x.Codigo_Produto.Contains(busca)
Infelizmente não aceita os caracteres curingas....
Tópico encerrado , respostas não são mais permitidas