Filtrowanie danych tabeli.

0

Witam,
W jaki sposób najprościej zrealizować, filtrowanie danych w tabeli? i wyświetleniu ich w DGV próbowałem coś wymotać z RaportViewer, ale poległem bo nie dowiedziałem się jak elastycznie filtrować dane.
Potrzebuję filtrować po dacie lub zakresie daty.
Może jakiś mały przykład mógłby mi ktoś pokazać żebym załapał. Aha używam wersji express.

0

Można użyć BindingSource i właściwości Filter, albo podawać mu jako DataSource już odfiltrowaną kolekcję danych.

0

bindingsource jest zupelnie do czego innego, dodaj sobie do toolboxa komponent DataView, masz w nim RowFilter, to tak najkrócej, poza tym każdy dataset ma cos takiego jak

DataSet.Tabela.DefaultView.DataViewManager.DataViewSettings[id_tabeli_lub_jej_nazwa].RowFilter

w ktorym tez mozesz przefiltrowac dane

0

Nie dodałem że jestem kompletnie początkujący.

Chodzi mi o to że mając textbox w którym wpiszę datę i klikne button to wyświetli mi tylko wpisy z żądaną datą.

Taki mały off-topic
Chyba muszę jakąś książkę kupić do C# i ADO, możecie coś polecić, ale w ojczystym języku :)

0
Lardux napisał(a)

bindingsource jest zupelnie do czego innego

Do czego zatem jest BindingSource, jeśli nie do wiązania danych z kontrolkami?

trzcionek napisał(a)

Chodzi mi o to że mając textbox w którym wpiszę datę i klikne button to wyświetli mi tylko wpisy z żądaną datą.

Niestety nie mam czasu włączyć Google i poszukać przykładowego kodu.

Chyba muszę jakąś książkę kupić do C# i ADO, możecie coś polecić, ale w ojczystym języku :)

To akurat dobra myśl.
W tej książce jest o ADO.NET i kontrolkach do danych, napisane w miarę przystępnym językiem: http://helion.pl/ksiazki/cshnet.htm
Mam i uważam za dobrą.

0

somekind - idac Twoim tokiem myslenia powinienem napisac "nie mam czasu wlaczyc google zeby Ci poszukac definicji" ale napisze male co nieco....

otoz bindingsource - mowie o kontrolce - sluzy do oddzielenia zrodla danych od kontrolki je wyswietlającej, mozesz sobie np w jednym watku odswierzac dane, a w innym moze dziac sie cos innego, bez bindingsourca tego nie zrobisz, bo zacznie Ci sie wszystko wykrzaczac, nie ma sensu uzywanie bindingsourca jesli nie masz wielowatkowosci, z doswiadczenia wiem ze sie do tego nie nadaje, duzo prostszy jest dataview...

0

Wg mojej wiedzy BindingSource służy do szeroko pojętego łączenia danych z kontrolkami, w celach ich wyświetlania, edycji, dodawania, sortowania, filtrowania, itd. Są bardzo elastyczne i załatwiają wiele operacji pomiędzy warstwą danych a interfejsem, których ręczna implementacja byłaby pracochłonna. I to nie są jakieś wymysły, tylko skrót tego, co jest na MSDN.
Ponadto, nie tylko ja, ale i moi pracodawcy, używamy BindingSource'ów właśnie w tych celach zawsze, nawet jeśli nie ma wielu wątków... Ciekawi mnie zatem Twoja teoria, możesz ją czymś poprzeć?
Zaś słów, że BindingSource "nie nadaje się" do powiązania danych z DataGridView zupełnie nie rozumiem. Możesz to jakoś udowodnić?

0

nie bede Ci niczego udowadnial, to ze armatą możesz zabić muchę nie znaczy że właśnie jej używasz do ich zabijania, tak samo jest tutaj, jeśli potrzebujesz wielowątkowości, używaj binding sourca, jeśli potrzebujesz jedynie sortowania, i filtrowania używaj dataview, zresztą, przepraszam za wyrażenie "uzywaj", nie musisz mnie słuchać, masz swój rozum i zrobisz tak jak będziesz uważał, aczkolwiek osobiście uważam że binding source jest zbyt toporny jak na proste filtrowanie, do tego dochodzi pamięciożerność, nie wiem czy wiesz, ale bindingsource robi swoja kopie danych, dataview, jest tylko pośrednikiem miedzy danymi a kontrolką wyświetlającą, otwórz sobie dużą tabele, użyj dataview, potem zrob to samo z bindingsource i zobaczysz efekt

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