[ perun85 @ 05.11.2008. 19:07 ] @
Imam typed DataSet u kome se nalazi nekoliko tabela. Na formi imam dve dataGridView kontrole, koje su sa dve Binding Source kontrole povezane sa jednom tabelom u DataSetu. Ta tabela ima jedno polje u koje je smesten odredjeni datum na osnovu koga vrsim filtriranje. Preciznije jedan DataGridView prikazuje korisnike cija je vrednost datumske kolone veca od danasnjeg datuma, a drugi gde je ista vrednost manja. Ovo postizem tako sto u Form_Load dodam slede'i kod: bindingSource1.Filter = "datum>=" + "\'" + DateTime.Now.ToString() + "\'"; bindingSource2.Filter = "datum<" + "\'" + DateTime.Now.ToString() + "\'"; Pri pokretanju programa svi redovi bivaju ispravno prikazani, no tu se javlja problem kada selektujem odredjeni red i zelim da iz njega izvucem vrednost odredjene kolone (FullRowSelect = true i MultiSelect = false) on mi vrati podatke korisnika koji se ne nalazi na poziciji sa tim indeksom u dataGridView. Da budem jos precizniji efekat je isti kao da su svi redovi bez obzira na datum ucitani u taj DataGridView,a prikazani su samo oni sa ispravnim datumom a ovi ciji datum nije ispravan su "sakriveni" ali su ostali na svojim pozicijama u DataGridVIew-u i zadrzali svoje indeksee. Posto pretpostavljam da je ovo posledica upotreba Filter svojstva BindingSourca, postoji li nacin da ovu gresku ispravim? Ukoliko ne postoji, mozete li mi predloziti drugi nacin da izvedem ovo filtriranje? Meni je na pamet balo dodavanje jos jedne iste tabele u DataSet samo gde bi SELECT query izgledao "SELECT * FROM Tabela WHERE datum >= (GETDATE())", no mislim da postoji i bolje resenje od ovoga gde se bespotrebno dupliraju podaci. Hvala unapred na odgovorima. |