Hogyan állapítható meg, a változás középpontjában a sorban tdbgrid

CPU nem található. Nyomja meg bármelyik gombot a folytatáshoz

Használja esemény OnDataChange kifogást adatforrás, csatlakozik a DBGrid. Ha az állam az eseménykezelő dsBrowse, akkor költözött új sor (vagy csak nyitott egy táblázatot).

Miért a rács nem támogatja egy ilyen esemény? Mivel a háló lehet nem csak ellenőrzés, otorbazhayuschim adatok az aktuális sor, és lehet nem csak lehetővé teszi, hogy a mozgó elem sorról sorra. Az adatforrás esemény feldolgozása központosított.

Nem vagyok benne biztos, hogy a problémát meg lehet oldani úgy, hogy a rendezvény egy kattintással, hogy nyomon vonalak események módosítására, azt javasoljuk TDatasource.OnDataChange esemény és hangszóró - TDBGrid.OnColEnter / Kilépés.

Én személy szerint a következő operációs technológia:
  1. Változások kimutatására az aktuális sorban a rendezvény TDataSource OnDataChange. OnDataChange akkor jelentkezik, ha fut, vagy kattintson a másik vonalon. Az eseménykezelő lehet kinézni:

Olyan területen, ahol az oszlop, ahol a változás.

TTable területen lehet használni, hogy hasonlítsa össze a kiválasztott sor területen (a kulcs) az Ön igényei. Ugyanebből a célból lehet használni, és az ingatlan TDBGrid Fields. Például:


  • A változások nyomon követése egy oszlopban használja TDBGrid OnColExit események OnColEnter. Ahhoz, hogy meghatározzuk a kiválasztott oszlop eddigi használata tulajdonságok TDBGrid SelectedField és selectedIndex.

    Ha kiválasztunk egy másik oszlop egy másik sor, akkor kap események OnColExit, OnColEnter és OnDataChange.

  • Akkor menj, és „görbe” tartja az események feldolgozására TDBGrid OnDrawDataCell, ami akkor jelentkezik, ha egy cella van kiválasztva, vagy ha a rács görgethető. Az eseménykezelő is így néz ki:

    Ha megváltoztatja a sejt kap az események láncolatába, így van, hogy valahogy kiszűrni azokat.

  • Ha nincs probléma egy „101 változások” standard alkatrészek - amely probléma számomra 8-), akkor próbálja meg ezt. Ez egyszerű.

    Hogy van, hogy az index a sor vagy oszlop a kijelölt cella, akkor örökli az osztály származó TCustomGrid és opublikat tulajdonságok futási Row és Col (a sor és oszlop a rács, nem az asztalra !!):

    Az eljárás vagy eseménykezelő végre typecasting:

    amit tudok következtetni, hogy meg kell csinálni ezt a programozott. Ez azt jelenti, hogy a rács már létezik, és hozzá tud férni a főtábla TTable:

    Lehetnek hibák, de ez segíthet.

    Nézd meg az alábbi kódot, hogy segít. Elveszi az ellenőrzések a tulajdonságok „Név” és elhelyezi azt a tulajdon „Képaláírás” címke alatt.