2015-11-13 2 views
0

Я пробовал это в течение 2 дней, и я не могу заставить его работать. У меня есть datagridview, и я хотел добавить к нему два фильтра через текстовые поля. Один для имен и один для числового кода. Тот, кто использует имена, работает очень хорошо, но я не могу получить номер для работы с числами, я пробовал несколько фрагментов кода, которые я нашел в Интернете, и никто из них не работал, вы просто пишете номер в текстовом поле, но он не будет делать фильтр на datagridview !!C# Фильтр по номеру

Любые предложения? Я считаю, что я уже пробовал все, что знаю, и нашел в интернете бесполезно!

EDIT: Это кусок кода, который я использовал для имени фильтра и попытался повторно использовать для кодов:

((DataTable)dataGridView1.DataSource).DefaultView.RowFilter = "descripcion like'" + busquedanom.Text.Trim().Replace("'", "''") + "%'"; 
+0

где ваш код? –

+0

@DanO Отредактировано !!! – Lobialkon

+1

Это данные, которые вы хотите отфильтровать число или строку? – Ciara

ответ

1

Просто, чтобы переместить это из комментариев ... Таким образом, предлагаемый ответ заменить

"descripcion like'" + busquedanom.Text.Trim().Replace("'", "''") + "%'"; 

с

"codSimbolico = " + busquedanom.Text.Trim(); 

Также возможно изменить busquedanom в любое текстовое поле, которое вы используете.

Для обработки данных в виде строки, а не, попробуйте следующее:

RowFilter = "Convert(codSimbolico, 'System.String') like '" + busquedanom.Text.Trim().Replace("'", "''") + "%'"; 
+0

Он работает частично, после написания номера в текстовом поле все, что находится в datagridview, становится скрытым, но когда вы пишете весь код, он появляется, а при фильтрации по именам, когда вы пишете одну букву, он скрывает только те имена, которые не имеют этого как первое письмо, так или иначе, чтобы сделать это как число? – Lobialkon

+1

Да, это из-за '=', я думаю, вам придется преобразовать данные в строку, а затем использовать ту же логику, что и в вашем фильтре имени. Не уверен, но вы можете сделать это встроенным в фильтр - возможно, используя что-то вроде tochar (codSimbolico). – Ciara

+1

@ Lobialkon Я отредактировал ответ, посмотрю, работает ли он – Ciara

Смежные вопросы