picoware-Treeview

Menge Stückpreis
bis 1 299,00 € *
ab 2 275,00 € *
ab 3 265,00 € *
ab 4 260,01 € *
ab 5 249,99 € *

inkl. MwSt.

Versandkostenfreie Lieferung!

Als Sofortdownload verfügbar

  • sw_treeview
Das Ende aller TreeView-Probleme! Thomas Pfoch (picoware gmbh) hat ein natives... mehr
Produktinformationen "picoware-Treeview"

Das Ende aller TreeView-Probleme!

Thomas Pfoch (picoware gmbh) hat ein natives TreeView-Steuerelement erschaffen - und seit kurzem ist die neue Version verfügbar (mehr dazu weiter unten)!

Mit dem picoware-Treeview lösen Sie folgende Probleme:

  • Reines Access - kein externes ActiveX-Steuerelement!
  • Kein OCX!
  • Keine DLL!
  • Keine Referenzen nötig!
  • Faire Lizenzbedingungen!
  • Viel mehr Gestaltungsmöglichkeiten wie beim Original-Treeview - siehe oben in den Bildern!

Wo Access läuft, läuft dieser Treeview -

  • egal, ob 2003, 2007, 2010, 2013 oder 2016
  • egal, ob 32-Bit oder 64-Bit
  • egal, ob die IT etwas installieren möchte oder nicht!
  • Selbst Updates der MSCOMCTL.ocx, die immer wieder für Probleme sorgen, können Ihnen nichts mehr anhaben, denn Sie brauchen diese nicht!

Und das Beste ist: Sie können das TreeView direkt durch die Angabe einer Datenherkunft als SQL-Ausdruck füllen!

Wir zeigen Ihnen ein Beispiel, das demonstriert, wie einfach sich das picoware-Treeview programmieren lässt. Wir wollen die Inhalte der Tabellen tblKategorien und tblArtikel hierarchisch anzeigen.

Dazu fügen Sie der Datenbank einfach einige Objekte hinzu - zum Beispiel ein Unterformular, in dem das Access-TreeView enthalten ist, ein paar Tabellen sowie einige Module und Klassen.

Dann legen Sie ein neues Formular an, ziehen das Unterformular mit dem TreeView hinein und fügen dem Klassenmodul des Formulars folgende Codezeile hinzu, um das Unterformular zu referenzieren:

Public WithEvents objTreeView As Form_USys_pTV_TreeView

Anschließend hinterlegen Sie für das Ereignis Beim Öffnen des Formulars folgende Prozedur:

Private Sub Form_Open(Cancel As Integer)
    Dim strSQL As String
    Set objTreeView = Me!Treeview.Form
    strSQL = "SELECT KategorieID AS Reference, Kategoriename AS Caption, " _
        & "'Kategorie' AS RefKontext FROM tblKategorien"
    objTreeView.AddSQL strSQL
End Sub

Damit weisen Sie der zuvor deklarierten Variablen objTreeView das Unterformular hinzu. Außerdem definieren Sie mit einer SQL-Anweisung, welche Daten in der ersten Ebene des TreeView landen sollen. Das sind die KategorieID als Referenzwert, der Kategoriename als anzuzeigender Wert und der Ausdruck 'Kategorie', damit wir später auf den Elementtyp Bezug nehmen können.

Wenn Sie nun in die Formularansicht wechseln, erhalten Sie bereits alle Daten der Tabelle tblKategorien:

Aber wir wollen ja noch eine zweite Hierarchie-Ebene einbauen, welche die Artikel je Kategorie liefert. Dazu legen wir eine Ereignisprozedur an, die durch das Ereignis ItemOpened von objTreeView ausgelöst wird - und somit beim Anklicken eines der Kategorie-Elemente. Hier definieren wir wieder einen SQL-Ausdruck, der diesmal die Daten der Tabelle tblArtikel liefert. Diesmal allerdings mit einer Bedingung, in der wir festlegen, zu welcher Kategorie die Artikel ermittelt werden sollen. Dazu nutzen wir den zuvor aus den Parametern der Prozedur ermittelten Wert der Variablen lngReference, der den Referenzwert für die angeklickte Kategorie, also den Primärschlüsselwert, liefert:

Private Sub objTreeView_ItemOpened(Kontext As pTV_Kontext, ByVal RefPath As String)
    Dim strSQL As String
    Dim lngReference As Long
    lngReference = Kontext.SettingLong("Reference", -1)
    strSQL = "SELECT ArtikelID AS Reference, Artikelname AS Caption, " _
        & "'Artikel' AS RefKontext FROM tblArtikel WHERE KategorieID = " & lngReference
    objTreeView.AddSQL strSQL, RefPath
End Sub

Damit erhalten wir nun das Access-Treeview wie in folgendem Bild:

Sie können sich die verschiedenen Möglichkeiten des Access-Treeview in der unter Download angegebenen Beispieldatenbank ansehen.

Wenn Sie Access-Treeview erwerben, erhalten Sie eine Access-Datei mit ungeschütztem Code, aus der Sie die benötigten Objekte in die Zieldatenbank kopieren und dann direkt loslegen können - natürlich mit noch viel mehr Möglichkeiten als den oben angegebenen!

Kosten und Nutzen

299 EUR (oder gegebenenfalls der reduzierte Preis) - lohnt sich das überhaupt? Ist doch ziemlich viel für ein Steuerelement, oder? Nein, ist es nicht: Es ist seinen Preis nämlich mehr als wert. Wenn ich (André Minhorst) bedenke, wieviel Zeit ich schon damit verbracht habe, nach Updates der MSCOMCTL die TreeViews in meinen Anwendungen wieder zum Laufen zu bringen, entweder durch Austauschen oder aufwendige Manipulation der Registry, komme ich allein schon auf viele Stunden Arbeit. Darin sind noch nicht die vielen Kundenanfragen enthalten, die sich wundern, warum das MSCOMCTL-Treeview plötzlich nicht mehr funktioniert und denen ich dann erklären musste, wie sie es wieder zum Laufen bringen. Wenn ich auch nur einen Stundensatz von 60 EUR ansetze, habe ich das Tool in maximal fünf Stunden wieder drin!

Und wenn ich dann noch betrachte, wie aufwendig es ist, das MSCOMCTL-TreeView mit den Daten aus einfachen Tabellen zu füllen, dann muss ich erkennen: Das picoware-Treeview ist nicht nur unabhängig von Microsoft-Updates, sondern es erlaubt auch ein viel einfacheres Füllen mit den Daten meiner Datenbank - und das auch für hierarchische Daten.

Wichtige Informationen

picoware Treeview - Lizenzbedingungen

Produkt

Gegenstand des Erwerbs ist der Quellcode des zum Download angebotenen Beispielprogramms.
Dieses dient als Beleg der Funktionsfähigkeit und als Fundus für Einsatzszenarien.

Enthalten ist eine Lizenz für die Nutzung durch eine Person (Entwickler) in eigenen kommerziellen Projekten (s.u.).

Gewährleistung für die Funktionsfähigkeit kann (und wird) nur für das Beispielprogamm übernommen, da die Umstände der Integration in die Projekte des Erwerbers von der picoware gmbh nicht beeinflusst werden können.

Bei Problemen leistet die picoware gmbh in angemessenem Umfang Support per eMail (bitte vorher den aktuellen Stand der FAQ prüfen). Weiterreichender Support ist nach Absprache möglich, wird dann aber ggf. kostenpflichtig.

Jeder kommerzielle Einsatz erfordert eine gültige, in nicht-elektronischer Form vorliegende und namentlich erteilte Lizenz. Diese kann nur seitens der picoware gmbh erteilt werden und geht dem Lizenznehmer automatisch nach Zahlung der Lizenzgebühr zu.
Sie wird auf die in der Registrierung angegebenen Daten ausgestellt.

Nach Zahlungseingang der Lizenzgebühr ist der Lizenznehmer zeitlich unbefristet berechtigt, den Quellcode und nachfolgende Updates der erworbenen Version von der picoware-Website herunterzuladen. Zu diesem Zweck muss er sich auf dieser Site registrieren und einloggen.

Lizenzgebühr

Die Lizenzgebühr berechnet sich pro Person und entspricht dem oben genannten Verkaufspreis, der von Zeit zu Zeit variieren kann.

Für die Nutzung des Codes in kommerziell eingesetzten Projekten oder Produkten muss für jeden beteiligten Access-Entwickler eine gültige Lizenz erworben werden. Ausnahmen von dieser Regelung sind in begründeten Fällen und nach Zustimmung seitens der picoware gmbh möglich.

Ziel der Lizenzvereinbarung ist es, dem Lizenznehmer die vollständige Integration der Funktionalität des erworbenen Produktes in seine Produkte zu ermöglichen ohne ihn in der kommerziellen Verwertung seiner Produkte unnötig einzuschränken.
Gleichzeitig soll sie die Rechte der picoware gmbh an ihrem geistigen Eigentum schützen.
Sofern die Festlegungen Raum für Interpretationen bieten, sind diese nach gesundem Menschenverstand unter den Gesichtspunkten der Angemessenheit und der Fairness auszulegen.

Lizenz

Die Lizenz gilt nur bei vollständiger Lizenzierung aller am Projekt beteiligten Access-Entwickler und nach vollständiger Zahlung der Lizenzgebühr.

  • Die Lizenz ist nicht-exklusiv, aber zeitlich unbeschränkt.
  • Sie ist an den Erwerber gebunden.
  • Sie gestattet die Integration und die Nutzung des Codes in eigenen Programmen (bzw. Projekten), sowie in solche, die der Erwerber im Kundenauftrag anfertigt.
  • Insofern räumt diese Lizenz auch den Kunden des Erwerbers ein zeitlich unbeschränktes Nutzungsrecht im Rahmen der vom Erwerber erstellten Programme ein.
  • Das an den Kunden weitergegebene Recht beschränkt sich dabei aber auf die Nutzung innerhalb des ursprünglichen Projekt-Kontextes. Darüber hinausgehende Nutzungen (z.B. ein Wiederverkauf des erstellten Programms) erfordern eine eigene Lizenzierung durch den Kunden.
  • Abgedeckt ist ebenso die Weitergabe des Quellcodes durch den Entwickler an seinen Kunden im Rahmen einer Offenlegung des gesamten Projekt-Quellcodes gegenüber diesem, sofern nicht der Projekt-Charakter vorwiegend in der Weitergabe des von der picoware gmbh erworbenen Quellcodes zu vermuten ist.

Ausdrücklich nicht gestattet sind

  • die Weitergabe der Quellen an Dritte außerhalb der oben genannten Situation
    (gleich in welcher Art oder zu welchen Konditionen)
  • der Wiederverkauf der Quellen (auch nicht in angepasster oder modifizierter Form).

Die im Kopf jedes Moduls enthaltenen Copyright-Angaben der picoware gmbh dürfen nicht verändert werden. Wenn eigene Ergänzungen am Code vorgenommen werden, sollten diese im Anschluss an den Copyright-Header dokumentiert werden.

Andere Vereinbarungen bedürfen ausdrücklich der nicht-elektronischen Schriftform.

Support

Support kann ausschließlich per eMail und nur für namentlich registrierte Kunden geleistet werden.

Neue Version vom 22. November 2019

Das Flackern hat ein Ende

Das Flackern des Treeviews in Access ab Version 2016 ist behoben.
Aufgrund veränderter Handhabung von Grafiken in Acc2016++ dauert das Neuzeichnen des Treeviews so lange, dass der Zeichenvorgang bei langen Formularen als Flackern zu erkennen war.

Ab der vorliegenden Version verwenden wir ein Popup-Formular, das den aktuellen Bildschirmausschnitt des Treeviews kopiert und so lange anzeigt, bis das Neu-Zeichnen des darunter versteckten Formulars abgeschlossen ist. Damit ist das Flackern behoben.

Kennen Sie das Flackern aus eigenen Anwendungen?

Auch dort können Sie unser Popup-Formular verwenden - schließlich erhalten Sie auch diesen Quellcode.

Positionierung auf zweitem Monitor gefixt

Bisher haben wir Popup-Menüs oder das Drag&Drop-Icon über Docmd.MoveSize an ihre jeweilige Position verschoben.

Da hier aber nur positive Koordinaten in engen Grenzen übergeben werden konnten, kam es bei Systemen mit mehreren Monitoren mitunter zu falschen Positionierungen.

 Ab dieser Version haben wir das durch API-Calls ersetzt und können somit auch Multi-Monitor-Systeme richtig bedienen.

 ...und natürlich können Sie diese Funktion aus in Ihren Programmen verwenden, um Access-Formulare außerhalb des Hauptbildschirms zu positionieren - übrigens auch unter 64-Bit.

Bekannte Features

  • Realisiert als Access-Endlos-Formular
  • Sie erhalten den Quellcode, der in jeder Access-Version (ab XP) verwendet werden kann
  • 32/64-Bit kompatibel
  • Definition der Einträge über SQL-Abfragen
  • Nutzer-Aktionen werden per Event an Ihre Applikation durchgereicht
  • Diverse Icons mitgeliefert, eigene können ergänzt werden
  • individuell gefärbter Hintergrund je Eintrag möglich
  • Checkbox je Eintrag mit diversen Icon-Sets
  • Verhalten der Einträge individuell steuerbar (wählbar / zu öffnen / automatisch öffnen / ersten Untereintrag wählen)
  • automatische Gruppierung bei vielen Einträgen
  • Drag&Drop innerhalb des Treeviews
  • In-Place-Edit der angezeigten Texte

Neue Version vom 4. Mai 2017

Neue Icongrößen: 24x24, 32x32, 48x48

Icons (resp. Bitmaps) werden nun auch in 24x24, 32x32 oder 48x48 unterstützt - auch wenn wir unseren Icon-Vorrat noch nicht entsprechend erweitert haben.

In-Place-Edit

Mit In-Place-Edit können Sie Ihre Anwender die Bezeichnungen der Einträge im TV direkt ändern lassen - und zwar selektiv in genau den Einträgen, in denen Sie in Ihrem SQL-Statement AllowEdit=1 angeben. Ändert der Anwender dann den Text, werden Sie darüber mit dem neuen Event ItemEdited informiert (s.u.).

Drag&Drop Workflow erweitert

Wenn Ihr Anwender während eines Drags die Shift/Strg/Alt-Tasten verändert, wird ein Event aufgerufen, der Sie das angezeigte Icon verändern lässt. Damit können unterschiedliche Operationen in Abhängigkeit von Status dieser Tasten ausführen (z.B. Move statt Copy).

64-Bit Integration für Drag & Drop und Rechtsklick

Die bei Drag & Drop und Rechtsklick benötigten API-Calls werden ab jetzt auch in 64-Bit unterstützt.

Auto-open-Option für die Einträge

Wir haben die Bedeutung von ItemSelectable erweitert. Sie können nun Einträge erzeugen, die zu öffnen

  • und auswählbar sind (default)
  • aber nicht auswählbar sind
  • aber nicht auswählbar sind, bei Auswahl aber statt dessen geöffnet werden
  • und auswählbar sind und bei Auswahl zusätzlich geöffnet werden
  • aber selbst nicht auswählbar sind. Beim Auswahl werden sie geöffnet und ihr erster Untereintrag wird ausgewählt

Diese Optionen sind besonders hilfreich bei der Verwendung unseres Treeviews als Menü.

 

Neue Events

  • Drag&Drop Icon: DragStateChanged(Context As USys_pCT_Context, ByVal RefPath As String, ByRef DragIconName As String, Shift As Integer, Cancel As Integer)
    wird aufgerufen, wenn der Anwender ein drag&drop startet oder sich der Status der Shift/Strg/Alt Tasten ändert.
    Sie können jedes Mal ein neues Icon auswählen, um dem Anwender Rückmeldung zu der zu erwartenden Operation zu geben, indem Sie einen entsprechenden angeben. Wenn Sie den Parameter Cancel setzen, wird das drag&drop abgebrochen.
  • Doppelklick: DoubleClick(Context As USys_pCT_Context, ByVal RefPath As String)
    wird aufgerufen, wenn der Anwender einen Doppelklick auf einen Knoten macht
  • FormClicked: FormClicked(Button As Integer, Shift As Integer, X As Single, Y As Single)
    wird aufgerufen, wenn der Nutzer außerhalb von Knoten auf das Formular klickt.
    Das kann dann der Fall sein, wenn keine Datensätze im TV angezeigt werden oder mit den vorhandenen nicht der gesamte Platz belegt wird.
  • ItemEdited: ItemEdited(Context As USys_pCT_Context, ByVal RefPath As String, ByRef NewCaption As String, ByRef Cancel As Integer)
    wird aufgerufen, wenn der Anwender den Text des Knotens verändert hat. Sie erhalten den neuen Text in NewCaption, können diesen in Ihrer Datenbank speichern, verändert zurückgeben oder den gesamten Vorgang stornieren.

 Tolle neue Tools

  • Der Access-Explorer sieht aus wie ein Windows-Explorer, ermöglicht es aber, direkt in Ihre Datenbanken hineinzuschauen - ohne sie dabei zu öffnen. Er erschließt Ihnen die Strukturen der Tabellen (Felder, Indexe, Beziehungen) selbst in MDE/AccDEs und liefert eine Cross-Referenz über die Tabellen und Abfragen.
  • Wir haben unser Copy-Tool erweitert. Es erstellt jetzt eine Kopie und schiebt dort alle benötigten TV-Objekte hinein. Sollten dort Objekte alter Versionen vorhanden sein, werden sie gelöscht.

Diverse Umbenennungen und eine Änderungshistorie

Mit dieser Version beginnen wir die Dokumentation unserer Änderung in einer Tabelle, die Sie direkt unter dem ersten Menüpunkt der Demo abfragen können.

Behobene Fehler

  • Positionsberechnung bei Drop: Korrektur der Missweisung beim Drop in langen Formularen (Ursache Rundungsverhalten bei Umrechnung der Höhe des Detailformulars von Twpis in Pixel).
  • Falsche Einordnung im Baum: Unter bestimmten Umständen (mehr neue Einträge als im verbleibenden Intervall möglich) wurden Knoten fälschlicher Weise unter den Vaterknoten (ans Ende) eingeordnet.
    Ursache: Falscher Zeitpunkt für die Reorganisation der Sortierintervalle
Weiterführende Links zu "picoware-Treeview"
Verfügbare Downloads:
Bewertungen lesen, schreiben und diskutieren... mehr
Kundenbewertungen für "picoware-Treeview"
Bewertung schreiben
Bewertungen werden nach Überprüfung freigeschaltet.
Bitte geben Sie die Zeichenfolge in das nachfolgende Textfeld ein.

Die mit einem * markierten Felder sind Pflichtfelder.

Ich habe die Datenschutzbestimmungen zur Kenntnis genommen.

Zuletzt angesehen