samesdavis Posted October 31, 2016 at 07:03 PM Report #600068 Posted October 31, 2016 at 07:03 PM string mFiltro = "(NM_ADV like '%" + txtbusca.Text + "%')"; mFiltro = mFiltro + "AND (NM_ADV like '%" + txtbuscaADV.Text + "%')"; mFiltro = mFiltro + "AND (NM_FRM like '%" + txtbuscaFRM.Text + "%')"; mFiltro = mFiltro + "AND (NM_TRI like '%" + txtbuscaTRI.Text + "%')"; mFiltro = mFiltro + "AND (NM_TPC like '%" + txtbuscaTPC.Text + "%')"; mFiltro = mFiltro + "AND (NM_ADM like '%" + txtbuscaADM.Text + "%')"; bs.Filter = mFiltro; Olá pessoal, Estou com problemas para fazer filtros com o BindingSource. Tenho o filtro abaixo que foi montado, porém ele está funcionando de vez em quando, tem momentos que ele não filtra da forma correta. Por exemplo, se no momento em que eu estiver preenchendo o conteúdo do campo txtbuscaADV, ele já vai filtrando correto. Se eu preencher outro campo ele também funciona. Mas se eu mandar limpar, era para ele trazer todos os registros na grid, porém ele não funciona corretamente e exibe apenas alguns registros. Então tenho de clicar em um botão de recarregar a grid para exibir todos. Só que isso está causando transtornos e insatisfação por parte do meu cliente e preciso de resolver este problema mas não estou conseguindo. Alguém poderia me orientar ?
Solution samesdavis Posted November 1, 2016 at 11:04 AM Author Solution Report #600071 Posted November 1, 2016 at 11:04 AM Consegui resolver com essa dica que encontrei private void Filter() { var queries = new List<string>(); //string queryFilter = "1=1"; //With this we avoid to check if there is the AND in the query var filterCod = textBoxCod.Text; var filterArt = textBoxArt.Text; var filterDescr = textBoxDesc.Text(); if (filterCod != "") { queries.Add(String.Format("codice_prodotto LIKE '%{0}%'", filterCod)); } if (filterArt != "") { queries.Add(String.Format("articolo LIKE '%{0}%'", filterArt)); } if (filterDescr != "") { queries.Add(String.Format("descrizione_pt LIKE '%{0}%'", filterDescr)); } if (queries.Count >= 1) { var queryFilter = String.Join(" AND ", queries); bSource.Filter = queryFilter; //dataGridView.DataSource = bSource; } } http://codereview.stackexchange.com/questions/126096/datagridview-filter-with-bindingsource
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now