Фильтры строк не работают с пользовательским форматом даты в VB.NET-что?
У меня есть оператор select в VB.NET как
Dim SQLString As String = "select JobNo as [Job No],Format(Date,'dd-MM-yyyy') as Date,Aluminium as [Aluminium] from actualcost"
У меня есть фильтр для поиска [Job No] между двумя заданными датами следующим образом.Он не работает из-за того, что
Format(Date,'dd-MM-yyyy') as Dateв инструкция Select. Он работает нормально, если я использую только Дата без всякого формата.
Я не могу использовать только Дата как я хочу видеть дату как 'ДД-ММ-гггг' в сетке обзора.
Что я уже пробовал:
dv.RowFilter = String.Format("Convert([Job No],'System.String') Like '%{0}%' AND Date >= '{1:dd-MM-yyyy}' AND Date <= '{2:dd-MM-yyyy}'", TextBox1.Text, DateTimePicker1.Value, DateTimePicker2.Value)
Richard MacCutchan
Используйте свой отладчик для проверки сгенерированной строки.
Sree1981
Я решил эту проблему, отформатировав дату с помощью
DataGridView1.Columns("Дата").DefaultCellStyle.Формат = "ДД-ММ-гггг"
и оставил дату такой, как она есть в операторе select.Я надеюсь, что проблема была "дата преобразована в строку".Но мне действительно любопытно узнать, какое изменение в dv.filter могло бы решить проблему с тем же оператором select?