DataGrid - bei mir geht kein refresh, kein SetRefDataSource etc.
-
Hallo,
irgendwie komm ich nicht weiter. Ich habe ein "Microsoft DataGrid Control 6.0 (SP5)(OLEDB)"
IDE ist VC++ .NETWenn ich das Beispiel von MS:
http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/q229/0/29.asp&NoWebContent=1
lade, kann ich die u.s. Methoden verwenden, d.h. nach
"m_myDataGrid.Refr" wird "Refresh" angezeigt u.s.w.m_myDataGrid.SetRefDataSource(NULL);
m_myDataGrid.ClearFields();
m_myDataGrid.Refresh();In meinem Programm, in dem ich ebenfalls das "Microsoft DataGrid Control 6.0 (SP5)(OLEDB)" verwende und auch über eine Membervariable zugreifen möchte, bekomme ich hingegen diese o.g. Methoden nicht angeboten.
Es werden zwar eine ganze Menge an Methoden aufgeführt, aber ausgerechnet, die, welche ich brauch, nicht.Bei
"mc_datagrid1.refre"
bekomme ich stattdessen:
"mc_datagrid1.ReflectLastMsg"Hat jemand einen Tipp dazu oder eine brauchbare "OUTSIDE-MSDN"-Doku zu diesem Datagrid?
-
Hallo,
das sieht so aus, als ob die Member-Variable für das Grid falsch deklariert wurde, wie sieht denn die Deklaration aus? (es darf nicht der Typ CWnd sein)
MfG
-
das sieht so aus, als ob die Member-Variable für das Grid falsch deklariert wurde
Ja, Dein Tipp geht in die richtige Richtung.
, wie sieht denn die Deklaration aus?
in der von meiner IDE erstellten:
nur Eigenschaften, keine Methodenin dem o.g. Beispiel:
keine Eigenschaften, nur Methoden(es darf nicht der Typ CWnd sein)
Warum nicht? Im o.g. Beispiel stammt CDataGrid auch von CWnd ab.
Ich habe nun die Beispiel Header- und cpp-Datein in meine
Anwendung kopiert. Aber das kann doch keine Lösung sein?Gibt es irgendwo mehr Infos darüber, wie man sowas "richtig" macht?
Durch den Endlos-fast_informationsbereinigten-Link-Irrgarten namens
MSDN bin ich schon tagelang durchgeirrt, aber gebracht hat das nicht mal ein
ganz klein wenig was. Nada, nothing, nüschtsssss.
-
Probe-Nutzer schrieb:
(es darf nicht der Typ CWnd sein)
MSDN_Hasser schrieb:
Warum nicht? Im o.g. Beispiel stammt CDataGrid auch von CWnd ab.
weil du dich dann nicht wundern darfst, wenn du keine Methoden von CDataGrid aufrufen kannst (C++ - Grundlagen). Es wird doch eine Wrapper-Klasse erzeugt, wenn man so ein Grid hinzufügt, und die ist eben vom Typ CDataGrid, auch wenn sie von CWnd abgeleitet sein sollte, die "Abstammung" allein reicht nicht, du mußt eine Member-Variable vom Typ CDataGrid in deiner Klassen-Definition haben:
... CDatagrid m_myDataGrid; ...das meinte ich, sollte da ein CWnd stehen, dann kann das nicht klappen. Wenn jetzt trotzdem Methoden nicht erscheinen, dann trotzdem schreiben und kompilieren, und Fehler abwarten.
MSDN_Hasser schrieb:
Gibt es irgendwo mehr Infos darüber, wie man sowas "richtig" macht?
Durch den Endlos-fast_informationsbereinigten-Link-Irrgarten namens
MSDN bin ich schon tagelang durchgeirrt, aber gebracht hat das nicht mal ein
ganz klein wenig wasich wüßte nicht wo, gerade, wenn man mit ActiveX-Elementen wie dem DataGrid arbeitet, muß man (oder kann man) mit der Hilfe-Datei dazu zurechtkommen, wenn es auch für einen Einsteiger schwer sein mag (und das ist eine Hilfe-Datei für VB-Programmierer, aber das macht nichts, man muß nur wissen, was die Eigenschaften/Methoden tun, und wissen, daß Eigenschaften in der Wrapper-Klasse für C++ dann über Get und Set-Methoden abgerufen werden können). Das ist der Preis, den man für die Benutzung von ActiveX-Elementen zahlen muß, die eigentlich für Visual Basic konzipiert wurden.
MfG