20. februar 2003 - 16:21Der er
2 kommentarer og 1 løsning
Slet fra DBGrid og opdatere hvor indicatoren peger...
Program: Borland C++ Builder 6
Jeg har et DBGrid hvori der er en del records. Hvis jeg sletter en af disse records vil jeg gerne opdatere mit grid og derefter sætte indicatoren (lille trekant i venstre side af grid'et) udfor den næste record i grid'et. MEN når jeg refresher mit grid (lukker min query og åbner den igen) ryger indicatoren automatisk op til den første record og jeg aner ikke hvordan man flytter den "manuelt" ned til hvor jeg kom fra. Nogen idéer?
(Ovenstående skal også bruges i tilfælde af at folk editerer en record. Der skal grid'et også opdateres og indicatoren skal sættes der hvor folk har opdateret. DBGrid'et er det eneste data-aware objekt jeg bruger, dvs. ingen DBEditBoxes etc. Jeg bruger almindelige dropdownboxes og editboxes til at vise indholdet af en valgt record i grid'et og selve grid'et er read-only)
Hejsa Jeg tror du kan bruge bookmark egenskaben, følgende er hentet fra borland c++ hjælp.
TBookmark SavePlace; Variant PrevValue;
// get a bookmark so that we can return to the same record
SavePlace = ClientDataSet1->GetBookmark();
ClientDataSet1->FindPrior();// move to prior record
PrevValue = ClientDataSet1->Fields->Fields[0]->Value; // get the value
// Move back to the bookmark
// this may not be the next record anymore // if something else is changing the dataset asynchronously ClientDataSet1->GotoBookmark(SavePlace); ClientDataSet1->Fields->Fields[0]->Value = PrevValue; // set the value ClientDataSet1->FreeBookmark(SavePlace);
}
To ensure that the button is disabled when there is no previous record, the OnDataChange event of the DataSource detects when the user moves to the beginning of file (BOF property becomes true), and disables the button.
Helt kanon...havde godt siddet og kigget på bookmark, men kunne ikke helt få det til at virke. Og til orientering så behøver man ikke nødvendigvis en ClientDataSet komponent, man kan gøre det direkt på en query. Tak for hjælpen! Det var alle pointene værd
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.