
GroupingLevel
Osztály: TCustomClientDataSet
property GroupingLevel: Integer;
A csoportosítási szint maximális értéke. A csoportokat az indexben használt mezők határozzák meg. Az 1-es szintű csoportban azok a rekordok tartoznak ugyanazon csoportba, melyeknél az index első mezőjében azonos érték található. A 2-es csoportba az index első két mezőjében azonos értéket tartalmazó rekordok tartoznak, és így tovább. A 0-s csoport az összes rekordot magában foglalja.
Tegyük fel, hogy egy tábla első mezője egy évszám, a második egy hónap, a harmadik pedig a nap. E szerint a három mező szerint vannak indexelve a rekordok. Ebben az esetben, ha a GroupingLevel=1, akkor a csoportosítás évszám szerint történik, tehát az azonos évszámot tartalmazó rekordok tartoznak egy csoportba. Ha a GroupingLevel=2, akkor már a hónap is számít, tehát egy csoportba az azonos évszámot és hónapot tartalmazó rekordok tartoznak.
Hogy mire jó ez? Például amikor egy táblázatban megjelenítjük a rekordokat, akkor minden rekordról eldönthetjük, hogy az adott szinten lévő csoportban hol foglal helyet (a csoport elején, közepén, vagy végén), így a megjelenítéskor például használhatunk más-más színt az egyes csoportok jelölésére. Az aktuális rekord elhelyezkedését a csoportban a GetGroupState függvénnyel kérdezhetjük le.

HasAppServer
Osztály: TCustomClientDataSet
property HasAppServer: Boolean;
A property értéke megadja, hogy a ClientDataSet provider-hez van-e kapcsolva. Ha a property értéke igaz, akkor az adatokat egy IAppServer interfészen keresztül éri el. Ennek megállapítására használjuk ezt a property-t ahelyett, hogy az AppServer property-n keresztül ellenőriznénk ugyanezt.

IndexDefs
Osztály: TCustomClientDataSet
property IndexDefs: TIndexDefs;
Az adatkészlet indexeinek listáját tartalmazza ez a property, illetve ha új adatkészletet hozunk létre, akkor az ehhez tartozó indexeket tudjuk itt megadni. Egy meglévő táblának nem tudunk itt új indexeket megadni, ehhez használjuk az AddIndex eljárást. A property-n keresztül a következő műveleteket tudjuk elvégezni:
- hozzáférhetünk az indexek definícióihoz, adataihoz;
- megállapíthatjuk, hogy összesen hány index van definiálva az adatkészlethez;
- új index létrehozása vagy meglévő indexek törlése (csak új tábla esetén);
- az összes index definíció másolása egy másik TIndexDefs típusú property-be.
Minden indexhez egy TIndexDef típusú objektum tartozik. Ebben a következő property-ket tudjuk beállítani:
- CaseInsFields: ebben a property-ben azokat a mezőket kell megadni, amelyekben a rendezésnél a kis- és nagybetűk között nem kell különbséget tenni. Az itt megadott mezőknek a Fields property-ben is szerepelniük kell. A mezők neveit pontosvesszővel kell elválasztani egymástól.
- DescFields: azokat a mezőket kell ebben a property-ben felsorolni, amelyek rendezése csökkenő sorrendben történik. Erre a property-re is vonatkozik, hogy a mezők neveit pontosvesszővel kell elválasztani, és a mezőket a Fields property-ben is meg kell adni.
- Expression: dBase adatbázisokál az indexet nem csak mezőkkel, hanem kifejezésekkel is megadhatjuk, illetve használhatjuk még akkor is, ha az Options-ban az ixExpression be van állítva. A kifejezést ebben a property-ben kell megadni. Ebben az esetben a Fields property-nek üresnek kell lennie.
- Fields: az indexben szereplő mezőnevek, pontosvesszővel elválasztva.
- GroupingLevel: ebben a property-ben adhatjuk meg, hogy a csoportosítást milyen mélységig támogatja az index (lásd GroupingLevel property).
- Options: az index jellemzőit állíthatjuk be ebben a property-ben.

IndexFieldCount
Osztály: TCustomClientDataSet
property IndexFieldCount: Integer;
A property megadja, hogy az aktuális indexben hány mező szerepel.

IndexFieldNames
Osztály: TCustomClientDataSet
property IndexFieldNames: string;
Az aktuálisan használt indexben szereplő mezők neveit tartalmazza, pontosvesszővel elválasztva.

IndexFields
Osztály: TCustomClientDataSet
property IndexFields[Index: Integer]: TField;
Egy tömb típusú property melynek egyes elemei az indexben szereplő mezők objektumai (TField). Az első mező indexe 0, a másodiké 1, stb. A property értékét ne változtassuk meg közvetlenül, helyette az IndexFieldNames property-t módosítsuk.

IndexName
Osztály: TCustomClientDataSet
property IndexName: string;
Az aktuálisan használt index neve. Ha nincs index megadva, akkor az IndexFieldNames property-ben meghatározott sorrendben, vagy az alapértelmezett sorrendben jelennek meg az adatok.

KeyExclusive
Osztály: TCustomClientDataSet
property KeyExclusive: Boolean;
A property-vel meghatározhatjuk, hogy a tartomány határaként megadott rekordok szerepeljenek-e a tartományban, vagy nem. Az alapértelmezett értéke hamis, ami azt jelenti, hogy a megadott rekordok szerepelnek a tartományban. Ha a property értéke hamis, akkor a tartomány elejének megadott rekord utáni, és a tartomány végének megadott rekord előtti rekordok jelennek csak meg.

KeyFieldCount
Osztály: TCustomClientDataSet
property KeyFieldCount: Integer;
A property értéke meghatározza, hogy a keresésnél (pl. FindKey) hány darab kulcsmező szerepeljen. Alapesetben az értéke a kulcsmezők számával egyezik meg, de lehet ennél kevesebb is. Ha például három kulcsmező van, és a property értéke 2, akkor a keresés csak az első két mező szerint történik, míg egy esetében csak az elsőt veszi figyelembe.

KeySize
Osztály: TCustomClientDataSet
property KeySize: Word;
A property az elsődleges kulcs méretét adja meg.

LogChanges
Osztály: TCustomClientDataSet
property LogChanges: Boolean;
Általában amikor módosítunk az adatbázisban tárolt adatokon, a változás nem tárolódik el azonnal, hanem a változtatások a Delta property-ben vannak tárolva. Ebben az esetben ezeket a változtatásokat vissza lehet vonni, vagy éppen véglegesíteni. Ez utóbbi esetben a módosítások végrehajtódnak a Data property-ben tárolt adatokon. Ha a LogChanges property értéke hamis, akkor a módosítások rögtön a data property-ben történnek meg. Ez utóbbit csak akkor használjuk, ha az adatkészlet csak olvasható módban van, mivel egyébként a változtatásokat nem fogjuk tudni véglegesíteni.

MasterFields
Osztály: TCustomClientDataSet
property MasterFields: string;
A master-detail kapcsolatnál a master tábla kulcs mezőinek nevei, pontosvesszővel elválasztva egymástól.

MasterSource
Osztály: TCustomClientDataSet
property MasterSource: TDataSource;
Master-detail kapcsolatnál a master tábla DataSource komponense. Miután beállítottuk ennek a property-nek az értékét, meg kell adnunk a MasterFields property-ben azokat a kulcsmezőket, melyekkel létrehozzuk a kapcsolatot.

PacketRecords
Osztály: TCustomClientDataSet
property PacketRecords: Integer;
A property-vel meghatározhatjuk, hogy egy adatcsomagban egyszerre hány rekord lehet, illetve azt, hogy csak a meta-adatok jöjjenek-e le. Ha a property értéke -1, akkor az összes rekord egyszerre kerül letöltésre. Ha nagyobb, mint 0, akkor az az egyszerre letölthető rekordok számát adja meg, ha pedig 0, akkor csak a meta-adatok (adatbázis felépítése) töltődnek le. Az előbbi esetben, tehát amikor a property értéke nagyobb, mint 0, az adatok egymás után töltődnek le, az adatbázis szerver meghatározza, hogy pontosan honnan. Ezt a kommunikációt megelőzi a BeforeGetRecords esemény.

Params
Osztály: TCustomClientDataSet
property Params: TParams;
A CommandText property-ben megadott SQL lekérdezés vagy tárolt eljárás paramétereit tartalmazó property, amelyben az egyes paraméterek tulajdonságát és értékét állíthatjuk be, illetve tárolt eljárásnál az output paramétereket is ezen keresztül érhetjük el.

ProviderName
Osztály: TCustomClientDataSet
property ProviderName: string;
Ha az adatok egy provider-en keresztül jutnak el az adatkészlethez, illetve azon keresztül vannak frissítve, akkor a provider nevét ebben a property-ben adhatjuk meg. Ennek a property-nek az értéke lesz paraméterként felhasználva az IAppServer interfésznél, amikor az adatok lekérdezésre, illetve frissítésre kerülnek.
A property-ben megadott nevű provider lehet ugyanabban az alkalmazásban, amelyben a ClientDataSet komponens, illetve lehet egy másik rendszeren futó kiszolgálóban is. Ha ugyanabban az alkalmazásban helyezkedik el, akkor az Owner-nek meg kell egyeznie. Ha az Owner nem egyezne meg, akkor használjuk inkább a SetProvider metódust.
Ha a provider egy távoli kiszolgáló alkalmazásban van, akkor exportálva kell lennie. Ha a kapcsolatot létrehozó komponens (connection) Web vagy socket kapcsolatot hoz létre, vagy az alkalmazás kiszolgáló regisztrálva van a kliens rendszeren (TRegsvr.exe), valamint a RemoteServer property meg van adva, akkor a ProviderName property-ben kiválasztható a neve a legördülő listából (Object Inspector).

ReadOnly
Osztály: TCustomClientDataSet
property ReadOnly: Boolean;
Ha a property értéke igaz, akkor az adatokat nem lehet módosítani. Az alapértelmezett értéke hamis, tehát az adatok módosíthatók. Ha a property értéke igaz, akkor a CanModify property értéke hamis, és fordítva.

RecNo
Osztály: TCustomClientDataSet
property RecNo: Integer;
A property-ből megtudhatjuk az aktuális rekord sorszámát, illetve ha értéket adunk a property-nek, akkor ezzel rápozícionálhatunk a megadott sorszámú rekordra.

RecordCount
Osztály: TCustomClientDataSet
property RecordCount: Integer;
A property az adatkészletben található rekordok számát adja meg. Ha a PacketRecords property értéke nagyobb, mint 0, akkor a property értéke megváltozhat, mialatt a provider fogadja az adatokat.
A RecNo property-vel együtt használható az adatkészlet összes rekordjának elérésére, de erre általában a First, Last, MoveBy, és Prior eljárásokat használjuk.

RecordSize
Osztály: TCustomClientDataSet
property RecordSize: Word;
Annak a buffernek a fizikai mérete bájtban, amibe a rekord adatai beolvasásra kerülnek. Az alkalmazásokban nagyon ritkán van szükség erre az információra, de ha mégis, akkor ebből a property-ből megtudható.

RemoteServer
Osztály: TCustomClientDataSet
property RemoteServer: TCustomRemoteServer;
Ebben a property-ben adhatjuk meg az a connection komponenst, amin keresztül a kiszolgálóhoz kapcsoljuk az adatkészletet. A connection komponens meghatározza a kiszolgáló helyét és szolgáltatja az IAppServer interfészt, amin keresztül az adatkészlet kommunikálni tud a távoli adatszolgáltatóval (provider-rel).
Használhatjuk a LocalConnection komponenst is akkor, amikor a provider is ugyanabban az alkalmazásban található, mint az adatkészlet komponens (ClientDataSet). Ebben az esetben viszont választhatunk más megoldást is.
A komponenst használhat több connection komponenst is, ebben az esetben futásidőben is megadhatjuk a property-ben a használandó connection komponenst.
Ha több kliens adatkészlet (ClientDataSet) használja ugyanazt a connection komponenst, és várható, hogy később ez a connection komponens megváltozik (pl. más protokollt használunk), akkor használhatjuk a ConnectionBroker property-t a kapcsolatok központosítására.