Hallo,
Ich habe folgendes Problem: In einem Grid soll der 1. Datensatz für eine leere IB-Tabelle erfaßt werden. Das Grid ist mit einer DataSource, deren Eigenschaft AutoEdit auf true steht, verbunden. In einer TIBDataSet-Komponente wurde ein Generator in das Property GeneratorField mittels des Editors eingetragen (Option: Beim Speichern). Wenn ich nun im Grid den 1. Datensatz speichern möchte, kommt die Fehlermeldung, daß das Primary-Key-Field einen Wert braucht, also, der Generator wurde nicht ausgelöst. Den Fehler habe ich schnell gefunden. TIBDataSet löst für den 1. Datensatz kein Ereignis OnNewRecord aus. Infolgedessen steht State auf dsEdit. In der Datei IBCustomDataSet.Pas kann aber eine Auslösung des Generators nur dann stattfinden, wenn State auf dsInsert steht. In der entsprechenden IF-Abfrage wird dann auch "Required" auf false gesetzt. Wie kriege ich das hin, daß der Generator doch für das Speichern des allerersten Datensatzes ausgelöst wird?
Ich habe folgendes Problem: In einem Grid soll der 1. Datensatz für eine leere IB-Tabelle erfaßt werden. Das Grid ist mit einer DataSource, deren Eigenschaft AutoEdit auf true steht, verbunden. In einer TIBDataSet-Komponente wurde ein Generator in das Property GeneratorField mittels des Editors eingetragen (Option: Beim Speichern). Wenn ich nun im Grid den 1. Datensatz speichern möchte, kommt die Fehlermeldung, daß das Primary-Key-Field einen Wert braucht, also, der Generator wurde nicht ausgelöst. Den Fehler habe ich schnell gefunden. TIBDataSet löst für den 1. Datensatz kein Ereignis OnNewRecord aus. Infolgedessen steht State auf dsEdit. In der Datei IBCustomDataSet.Pas kann aber eine Auslösung des Generators nur dann stattfinden, wenn State auf dsInsert steht. In der entsprechenden IF-Abfrage wird dann auch "Required" auf false gesetzt. Wie kriege ich das hin, daß der Generator doch für das Speichern des allerersten Datensatzes ausgelöst wird?
Comment