[ drgajic12 @ 18.01.2011. 19:51 ] @
Imam 2 tabele:Fakture i FaktureFiltrirane
Hocu da iz tabele Fakture ubacujem u tabelu FaktureFiltrirane samo one zapise cije polje DATUM odgovara datumu koji je selektovan na kontroli dateTimePicker.
Uradio sam to sa ovim kodom:

faktureBindingSource.DataSource = dataSet11.FaktureFiltrirane;

string selektovanDatum = dateTimePicker1.Text;
DataRow[] red = dataSet11.FAKTURE.Select("datum='"+selektovanDatum+"'");


//OCISTIM GA AKO NESTO VEC IMA
if (faktureBindingSource.Count > 0)
{
foreach (DataRowView r in faktureBindingSource)
{
r.Delete();
}
faktureBindingSource.EndEdit();
}

//PRODJEM KROZ SVE PRONADJENE I UBACIM IH U TABELU FaktureFiltrirane
if (red.Length > 0)
{
foreach (DataRow kopija in red)
{
DataRowView novaFaktura = (DataRowView)faktureBindingSource.AddNew();
novaFaktura["broj_racuna"] = kopija["broj_racuna"];
novaFaktura["datum"] = kopija["datum"];
novaFaktura["vreme"] = kopija["vreme"];
novaFaktura["ukupna_vrednost"] = kopija["ukupna_vrednost"];
}
faktureBindingSource.EndEdit();
FaktureFiltriraneAdapter.Update(dataSet11);
}


//OBRISEM NIZ REDOVA UKOLIKO BUDE OPET KLIKNUTO DA BUDE SPREMNO ZA NOVI KRUG
if (red.Length > 0)
{
foreach (DataRow i in red)
{
i.Delete();
}
}

Problem je sto kad mu zadam jedan datum on odradi sve kako treba,zadam mu novi neki datum on opet odradi kako treba,ali kad ponovo vratim na neki
datum po kom mu je vec malopre radio kako treba,on nece nista da uradi.Naravno ako restartujem aplikaciju hoce,ali nije to resenje.Gde gresim? Ili mozda neko ima neko drugo resenje,jer sve ovo radim zato sto hocu da u CristalReport uvek ubaci samo one podatke koji odgovaraju selektovanom datumu.Mozda ne moram da pravim ovu TEMP tabelu FaktureFiltrirane,mozda moze to sto ja hocu i da se nekako odradi samo sa tabelom FAKTURE?
[ Mikelly @ 26.01.2011. 20:04 ] @
Pa ja bih crystalu proslijedio citav dataset a onda ovako filitrirao:

Code:

DateTime datum = dateTimePicker1.Value;
report.DataDefinition.RecordSelectionFormula = "{FAKTURE.datum}
     in DateTime (" + datum.Year.ToString("0000") + ", " + datum.Month.ToString("00") + ", " + datum.Day.ToString("00") + ", 00, 00, 00) 
     to DateTime (" + datum.Year.ToString("0000") + ", " + datum.Month.ToString("00") + ", " + datum.Day.ToString("00") + ", 23, 59, 59)";


gdje ti je report instanca tvog crystal izvjestaja.