Фильтровать просмотр данных по числовому полю

#vb.net

#vb.net

Вопрос:

С моим доступом к таблице1 у меня есть 5 полей:

Числовой тип COMPANY_Id,

COMPANY_Ordre Числовой тип,

COMPANY_Total Числовой тип,

Тип текста COMPANY_Name,

Тип текста COMPANY_Date

Когда я создаю фильтр по COMPANY_Total, COMPANY_Name или COMPANY_Date, тогда фильтр работает. Но с тем же типом числовых полей (COMPANY_Ordre) это не работает.

Это мой код фильтра просмотра данных:

   Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles TextBox1.TextChanged
    Try
        Dim Dv_Filtre As DataView = DT.DefaultView
        Dv_Filtre.RowFilter = "Convert( [COMPANY_Ordre], 'System.String') LIKE '" amp; TextBox1.Text amp; "%' OR Convert( [COMPANY_Total], 'System.String') LIKE '" amp; TextBox1.Text amp; "%' OR [COMPANY_Name] LIKE '" amp; TextBox1.Text amp; "%' OR [COMPANY_Date] LIKE '" amp; TextBox1.Text amp; "%'"
    Catch ex As Exception
    End Try
End Sub
  

Изображение двух числовых полей

Комментарии:

1. Что делает Convert? Convert — это класс, и вы должны вызвать метод класса, но я не думаю, что это будет работать внутри строки. Как одно число «похоже» на другое число? Как одна дата «похожа» на другую дату. Даты всегда должны храниться как даты, а не как текст.

2. Спасибо, Мэри, за объяснение. но это очень хорошо работает только со всеми полями COMPANY_ordre

Ответ №1:

Попробуйте добавить% также перед текстовым полем 1, чтобы получить гораздо больше результатов, а не только данные, которые заканчиваются ТОЛЬКО определенными критериями, такими как это:

 Dv_Filtre.RowFilter="Convert([COMPANY_Ordre],'System.String') LIKE '%" amp; TextBox1.Text amp; "%' OR ... 
  

Я надеюсь, что это может помочь тебе, брат
^_^

введите описание изображения здесь

Комментарии:

1. Спасибо. У меня был тот же результат. Всегда только с этим полем ( COMPANY_Ordre ) это не работает .. это поле заполняется только одним числом, подобным этому, например, 19 строк (1-1-1-2-2-2-2-2-2-3-3-3-3-3-3-3-3).

2. Теперь я понимаю, братан, так вот почему? спасибо, что поделились. ^_^