AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

DBGrid mit verschiebbaren Zeilen

Ein Thema von marsupilami79 · begonnen am 15. Okt 2005 · letzter Beitrag vom 16. Okt 2005
Antwort Antwort
Seite 2 von 2     12   
jensw_2000
(Gast)

n/a Beiträge
 
#11

Re: DBGrid mit verschiebbaren Zeilen

  Alt 16. Okt 2005, 00:07
Ich befürchte, das dein Versuch schon im Ansatz scheitert.

Das DB-Grid ist datensensitiv. Es stellt die Datensätze in der Reihenfolge dar, in der sie aus der DB abgerufen wuden. Die Sortierung kann man nur durch Indizies und/oder verändertem Datenabruf beeinflussen.

Um die Position eines einzelnen Datensatzes individuell zu verändern, musst du den Daten selbst verändern.

Eine Variante wäre z.B., das du ein Feld "TimeStamp" zu der entsprechenden Tabelle hinzufügst und nach diesem sortierst. Wenn jetzt ein Datensatz verschoben werden soll, dann setzt du dessen TimeStamp auf (TimeStamp des Datensatzes an der Zielposition) - 1 Millisekunde.
Bei neuen Datensätzen setzt du TimeStamp := now, damit diese standardmäßig unten stehen ...
  Mit Zitat antworten Zitat
marsupilami79

Registriert seit: 19. Jul 2004
16 Beiträge
 
Delphi 12 Athens
 
#12

Re: DBGrid mit verschiebbaren Zeilen

  Alt 16. Okt 2005, 00:38
Ich hab schon ein Feld, nach dem ich sortieren kann, in dem einfach der Platz der Reihenfolge steht. Ich wills nur für den User so einfach wie möglich machen, die Reihenfolge der Datensätze zu ändern. Das scheint mir am intuitivsten über das Grid zu gehen. Das Grid soll dann, nach entsprechender Ausprogramierung, also auch die Reihenfolge - und damit das Feld, in dem diese steht - ändern.
  Mit Zitat antworten Zitat
Hansa

Registriert seit: 9. Jun 2002
Ort: Saarland
7.554 Beiträge
 
Delphi 8 Professional
 
#13

Re: DBGrid mit verschiebbaren Zeilen

  Alt 16. Okt 2005, 02:09
Habe da wenig Hoffnung, daß so was damit (zumindest mit vertretbarem Aufwand) geht. Denn :

TCustomDBGrid = class; Man beachte den ;

Also ist das Ding komplett leer (nicht mal Tricks wie Forward haben die angewendet). Es muß also wirklich ALLES selber angelegt werden. 8) Wers immer noch nicht nicht glaubt :

Zitat:
{ TCustomGrid is an abstract base class that can be used to implement
general purpose grid style controls. The control will call DrawCell for
each of the cells allowing the derived class to fill in the contents of
the cell. The base class handles scrolling, selection, cursor keys, and
scrollbars... es folgen noch 2 DIN A 4 Seiten Kommentare.
Ich weiß, daß Union gerne datensensitive Sachen verwendet, ich habe das alles aber lieber gleich rausgeschmissen.

Tip : verwende lieber gleich ein "normales" Stringgrid, dann geht so was definitiv und trotz der vielen Arbeit dazu im Endeffekt viel schneller. Die Zwischenstufe Custom ist immer mit sehr sehr viel Arbeit verbunden und richtet sich IMHO eher an kommerzielle Entwickler, die Komponenten verkaufen wollen. Angeblich soll .NET da Besserung bringen, aber ehrlich gesagt : glaubs nicht recht.
Gruß
Hansa
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#14

Re: DBGrid mit verschiebbaren Zeilen

  Alt 16. Okt 2005, 07:52
Hallo Hansa,

TCustomDBGrid = class; Die von dir zitierte Klassendeklaration ist wohl ein Artefakt. In den Quellen von D7 steht an der Stelle TCustomGrid und du zitierst ja auch den Kommentar dazu.

Also ist das Ding komplett leer (nicht mal Tricks wie Forward haben die angewendet) Diese Notation einer Klassendeklaration entspricht dem forward bei Prozeduren und Funktionen. Die vollständige Deklaration folgt ja auch nach dem ausführlichen Kommentar und weiteren 20 Zeilen. Das sollte bei D8 nicht anders sein.

Auch wenn ich deine ablehnende Haltung gegenüber dem DBGrid teile, so könnte ich mich doch nie für ein StringGrid im Kern meiner Datenbank-Anwendungen entscheiden. Ich verwende seit W95 und dem renovierten GUI Style Guide eine ListView im virtuellen Modus. Mit diesem Common Control erreiche ich bei minimalem Aufwand den größten Grad an Software-Ergonomie.

Freundliche Grüße vom marabu
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:03 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz