vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

Fragen & Antworten rund um sev-Komponenten
sevDataGrid - zur Laufzeit erstellen 
Autor: lanzarote
Datum: 03.04.14 17:12

Hallo,

kann man ein Grid-Control nicht zur Laufzeit erstellen? Folgende Anweisung lässt der Compiler nicht durch:
Set grdDaten = New SevGrid
Meldung: "Ungültige Verwendung des Schlüsselworts New"

Der Code steht in der Methode einer Klasse, d.h. es gibt kein Formular mit einem Grid-Control. Ich möchte anschließend dem zur Laufzeit erstellten Grid ein Recordset zuweisen und schließlich einen Excel-Export mit DoExport erstellen.

Gruß Dieter R.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: Franki
Datum: 04.04.14 01:55

Hallo Dieter,

deine Frage kann ich dir nicht beantworten, da ich deine Vorgehensweise noch nie versucht habe. Aber warum möchtest du das so machen?

Wenn der User das SevGrid sowieso mangels Formular nie zu sehen bekommt, dann ist es ja völlig überflüssig.

Die Basis ist ein Recordset aus einer DB, das Ziel eine Exceldatei.

Das geht doch auch auf direktem Weg ohne den Umweg über ein für den User unsichtbares Grid. Du hast ja Zugriff auf die Quelle und das Ziel der Daten.

Ein Grid ist ja eigentlich dafür da dem User etwas zu zeigen, bzw. ihm die Möglichkeit zu bieten da Veränderungen, Einstellungen usw. vornehmen zu können. Die Daten im Grid würden wenn es unsichtbar ist 1:1 weiter gereicht werden, also ist das Grid überflüssig an dieser Stelle.

Also Frage: Warum brauchst du das, bzw. was genau möchtest du machen?

Gruß
Frank









Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: lanzarote
Datum: 04.04.14 10:05

Hallo Frank,

ich möchte es eben einheitlich zu meinen Formularen mit sichtbarem Grid machen. Dort wird die Referenz auf das Grid einfach an eine Routine übergeben, die dann den Excel-Export durchführt.

Wozu einen neuen Excel-Export programmieren, wenn ich auch diese Routine nutzen kann. Ich muss eben nur zuvor ein Grid erstellen, wo ich eigentlich noch keines habe.

PS: wüßte auch nicht genau, wie ich den Excel-Export von Hand programmiere ...

Gruß Dieter R.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: Charles_007
Datum: 04.04.14 11:17

Hallo Dieter,

Ich hab wenig Ahnung wie VB im Detail so tickt, aber ein Control braucht doch immer einen Owner, in VB also ein Formular. Frage: Welche Parameterliste hat denn der GridControl Constructor ?

Gruß
Karl-Heinz
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: lanzarote
Datum: 04.04.14 12:43

Hallo Karl-Heinz,

den find ich nicht. Wahrscheinlich kann das Grid nicht zur Laufzeit erstellt werden, denn sobald ich in der Entwicklungsumgebung das Schlüsselwort NEW eingebe, erscheinen ja die möglichen Objekte zur Auswahl. Und da ist das sevGrid nicht dabei. Ich habe es eben von Hand hinter NEW geschrieben.

Werde jetzt wohl ein Dummy-Grid in mein Formular einfügen (unsichtbar) und dann die Referenz an die Routine übergeben. Nichts besseres sehe ich im Moment nicht.

Gruß Dieter R.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: Franki
Datum: 05.04.14 00:34

Hallo,
ich habe das mal eben probiert.
VB gestartet, unter Komponenten das SevGrid hinzugefügt, dann in der IDE von VB auf Projekt/Klassenmodus hinzufügen und dann per Hand getippt:

Set grdDaten = New

und schon erscheint per IntelliSense die Auswahl auf das Sevgrid. Das lautet dann komplett:

Set grdDaten = New sevDataGrid2.Init
Weiter habe ich jetzt nicht getestet, vielleicht ist da ja ein Ansatz für dich

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: lanzarote
Datum: 05.04.14 10:00

Hallo Frank,

leider nicht. Bei deinem Ansatz gibt's dann die Meldung: "Laufzeitfehler 13: Typen unverträglich".

Trotzdem Dank für deine Bemühungen. Ich hab's jetzt mit dem Dummy-Grid im Formular gelöst, das ich durchreiche.

Gruß Dieter R.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: benne
Datum: 06.05.14 16:55

Hi,

warum nimmst du nicht ein Formular und stellst es auf unsichtbar?
Dann kann die ganze Berechnung im Hintergrund erfolgen.

Gruß

Benne
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: sevDataGrid - zur Laufzeit erstellen 
Autor: Anthe
Datum: 24.05.14 17:07

Das geht zB so:

Option Explicit

Dim WithEvents x As sevTextBox.sevText
Dim WithEvents y As sevDataGrid2.sevGrid

Private Sub Command1_Click()
Set x = Me.Controls.Add("sevTextBox.sevText", "x", Me)
x.Left = 10
x.Top = 10
x.Visible = True

Set y = Me.Controls.Add("sevDataGrid2.sevGrid", "y", Me)
y.Top = 200
y.Left = 10
y.Visible = True
End Sub


Private Sub x_GotFocus()
MsgBox "Ich TextBox."
End Sub

Private Sub y_Click(Button As Integer, Shift As Integer)
MsgBox "Ich Grid."
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel