Filtrowanie DataGridView przedziałem czasowym od ->do

Odpowiedz Nowy wątek
2017-11-13 18:08
marek_maro
0

Witam,
chciałbym dołożyć filtr który umożliwi flitowanie danych przedziałem czasowym (od daty -> do daty)
Używam prostego filtrowania na zasadzie wyszukania takiej samej daty.

       Dim DataView As New DataView(datatable)
       DataView.RowFilter = String.Format("DataW like '%" & findData.Text & "%'")
       tabela.DataSource = DataView

Ktoś ma jakiś pomysł rozwiązania mojego problemu ??
Dziękuję i pozdrawiam

Pozostało 580 znaków

2017-11-13 18:12
0

eee DataW > #2017/01/01# and DataW < #2017/01/31#


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2017-11-14 15:24
marek_maro
0

Przede wszystkim dziękuję za pomoc.
A gdyby zakres miałby pobierany z pól tekstowych jakby to mogło wyglądać ?

Pozostało 580 znaków

2017-11-14 16:11
0

eee nie za bardzo rozumiem gdzie masz problem. No pobierasz wartość z textboxa czy co tam masz i "składasz" warunek z tych właściwości. Musisz tylko pilnować, żeby format daty był taki yyyy/mm/dd


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2017-11-14 17:51
marek_maro
0

Hmmm.... Chodzi o samą składnię warunku i metodę rozwiązania.

Po wybraniu daty z kalendarza (format mam ustalony w DataTimePicker dd.MM.yyyy)
-> Po zamknięciu wysyła wartość do tekst boxa (findDataOd)
To samo w (findDataDo) -> po zmianie tej ostatniej wartości ma się dokonać wyszukanie :

DataView.RowFilter = String.Format("DataW > " & findDataOd.Text & " and DataW < " & findDataDo.Text & "")

Takie rozwiązanie, wyrzuca mi błąd. No i tutaj mam problem.

Pozostało 580 znaków

2017-11-14 19:24
0

po pierwsze data musi być w płotkach # a po drugie musi mieć format tak jak wcześniej pisałem. Nie wiem też czemu używasz & do łączenia stringów zamiast + - & to logiczne/bitowe and a nie konkatenacja


Chcesz pomocy - pokaż kod - abrakadabra źle działa z techniką.

Pozostało 580 znaków

2017-11-14 20:08
0

A interpolacja stringów?

string data1 = "2017/01/01";
string data2 = "2017/02/02";
 
Console.WriteLine($"DataW > #{data1}# and DataW < #{data2}#");
 
// output:
// DataW > #2017/01/01# and DataW < #2017/02/02#
edytowany 3x, ostatnio: WeiXiao, 2017-11-14 20:11
Pokaż pozostałe 3 komentarze
Interpolacja stringów to jedna z lepszych rzeczy w tym języku. Wołanie metody do czegoś tak trywialnego jest obleśne. - somekind 2017-11-15 13:40
ilu programistów tyle opinii - Manuel.Artificer 2017-11-15 15:48
No tak, niektórzy wprost uwielbiają pisać spaghetti. - somekind wczoraj, 00:31
jak zrobie string.Format to kod jest minimalnie dłuższy, żadne tam spaghetti, a jak użyje Console.WriteLine to wyjdzie kilka znaków dłuższy. - Manuel.Artificer wczoraj, 00:42
Zależy ile jest tych parametrów i co trzeba z nimi zrobić. - somekind wczoraj, 00:45

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

1 użytkowników online, w tym zalogowanych: 0, gości: 1, botów: 0