Einzelnen Beitrag anzeigen

StepByStep

Registriert seit: 12. Nov 2014
Ort: Schleswig-Holstein
61 Beiträge
 
Delphi 7 Professional
 
#5

AW: DevExpress Grid: Selection

  Alt 22. Mär 2018, 08:52
Moin zusammen,

ich habe gerade das selbe Problem wie der Threadersteller und habe einmal gedebuggt, aber erst einmal kurz der Aufbau des Testprojekts:

Ich habe ein TcxGrid und eine TcxGridDBTableView. Die Daten kommen über ein TADODataSet. Meine Options der TableView sind die gleichen wie von ULIK.

Problembeschreibung:

Im Grid stehen drei Datensätze, einer davon müsste nach dem OnCanSelectRecord herausfallen, auf Grund folgender Bedingung...

Delphi-Quellcode:
if qTest.FieldByName('TEST_ANZAHL').AsInteger < 1 then
begin
  AAllow := False;
end;
... und folgender Datenbasis

TEST_ID / TEST_ANZAHL
1 / 2
2 / 1
3 / 0

Wird jetzt der oberste Satz angeklickt, funktioniert die Selektion. Ebenso bei Datensatz 2 und beim letzten nicht, da die Bedingung das ausschließt. Wählst du aber über STRG + SHIFT + Klick eine Datenmenge aus, dann gehst du so oft durch das OnCanSelectRecord-Event wie du Datensätze zusätzlich zum aktuellen Fokus ausgewählt hast. Soll heißen, wenn Datensatz 1 den Fokus hat und du wählst alle aus, dann läufst du für ID 2 und 3 nochmal durch das Event.

Jetzt kommt aber der Gag an dem Ganzen: In meinem Fall ändert sich natürlich nicht der Satz im DataSet, sondern der steht in beiden Durchläufen auf ID 3. Würde es also einen Datensatz 4 geben, der die If-Bedingung erfüllt, dann würde Datensatz 3 selektiert werden.

Ich hoffe das war so erstmal verständlich. Wenn du keine DB-Anbindung hast, musst du sonst nochmal genauer schildern was du alles hast. Bin relativ fit mit DevExpress, nutze ich nämlich täglich, da lernt man dann das ein oder andere.

LG

Jan

PS.: Ich habe keine Ahnung wie ich die Tabelle hübsch gestalten kann. Verzeiht mir.
Jan
  Mit Zitat antworten Zitat