Ich mache eine Komponente in Delphi 10 Seattle. Meine Komponente ist ein Panel enthält ein TDBGrid (von TCustomDBGrid) und ein TEdit Controls. Wenn ich meine Komponente in Form bringen, ist alles in Ordnung, wenn ich Rasterspalten nicht ändere. , aber wenn ich beschränkte DBGrid-Spalten geändert hat, tritt ein Fehler bei der Laufzeit mit Meldung auf: "Fehler beim Lesen von TColumn.MyGrid.Expanded: Die Eigenschaft MyGrid.Expanded existiert nicht. ..." Für den gefundenen Fehler habe ich das Formular als Text geöffnet Siehe diese Codes:Gebundenes DBGrid an benutzerdefinierte Komponente
MyGrid.Columns = <
item
MyGrid.Expanded = False
MyGrid.FieldName = 'Sid'
MyGrid.Visible = True
end
item
MyGrid.Expanded = False
MyGrid.FieldName = 'UserName'
MyGrid.Visible = True
end>
FilterDataSource = DataSource1
So funktionierte meine Komponente nicht richtig.
Nun, deklariert Ihr TMyGrid eine Expanded-Eigenschaft, und ist es korrekt gestreamt, wenn es in einem Formular verwendet wird? Gleiches q für Ihren FieldName - TCustomDBGrid hat keine FieldName-Eigenschaft, als ich das letzte Mal geschaut habe ... – MartynA
Mein Dataset ist eine Tabelle mit einigen Feldern. Ich muss nur 2 Felder im Raster, also in Spalten-Eigenschaft (in MyGrid), ich füge diese Felder. –
Nun, Sie denken vielleicht, dass Sie die Dinge richtig gemacht haben, aber offensichtlich denkt Delphi anders. Sie sollten darauf achten, was die Fehlermeldungen Ihnen zu sagen versuchen, insbesondere "Property MyGrid.Expanded do [e] s not exist". "Mein Dataset ist eine Tabelle mit einigen Feldern." - Ist Ihrem benutzerdefinierten Grid jedoch bewusst, dass das Dataset, mit dem es verbunden ist, nur von diesem Typ sein kann? – MartynA