Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

Kretanje po datetable moveNext, movePrevious, delete

  • 3 odgovora
  • 3.715 pregleda

Najnovija ↓

Kretanje po datetable moveNext, movePrevious, delete 07.07.2009. u 14:56 · pre 210 meseci #1
Imam ovakav kod u VB6 gde se krecem kroz recordset napred, nazad, neke redove brisem:


rs.MoveFirst
dd1 = rs!Datum1
dd2 = rs!Datum2
kat = rs!Kategorija
rs.MoveNext
Do While Not rs.EOF
If rs!Kategorija = kat Then
If rs!Datum1 = dd2 Then
dd2 = rs!Datum2
rs.Delete
rs.MovePrevious
rs!Datum2 = dd2
kat = rs!Kategorija
rs.Update
End If
rs.MoveNext
Loop

Sada ovo isto pisem u .NET c#, medjutim ne znam kako ovo funkcionise sa indexima jer ne dobijam dobar rezultat.

dd1=(DateTime )dt.Rows [0]["Datum1"];
dd2=(DateTime )dt.Rows [0]["Datum2"];
kat=dt.Rows [0]["Kategorija"].ToString ();
n = dt.Rows.Count;

for(int i =1; i<n ;i++)
{
string kategorija=dt.Rows ["Kategorija"].ToString ();
if (kategorija==kat)
{
pom = (DateTime)dt.Rows["Datum1"];
if(pom==dd2)
{
dd2=(DateTime )dt.Rows ["Datum2"];
dt.Rows .Delete ();
dt.AcceptChanges();
n = n - 1;
dt.Rows [i-1]["Datum2"]=dd2;
kat = dt.Rows[i-1]["Kategorija"].ToString();
}
}
}
dt.AcceptChanges ();

Ako izbrisem red i=15, gde se nalazi tekuci kursor posle AcceptChanges, da li je tekuci 14 ili 16.Kako se ovo nacelno resava, mnogo mi nedostaje MovePrevious i MoveNext gde ne vodim racuna o indexima.
Re: Kretanje po datetable moveNext, movePrevious, delete 09.07.2009. u 11:52 · pre 210 meseci #4
Da napravis BindingSource, na tvoju tabelu dt (C# varijanta):

Code:

BindingSource BS = new BindingSource(dt,"");


onda ides

BS.MoveNext(), MoveFirst()... itd.

I pazljivo sa AcceptChanges.

Pozdrav.
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme