![]() |
Datenbank: MyBase • Version: ?? • Zugriff über: ClientDataSet
DBGrid Anzahl der Reihen
Ich möchte die Anzahl der Reihen in einem DBGrid , nicht der Spalten, festlegen.
Ich habe eine Datenbank MyBase auf die ich mit ClientDataSet1 zugreife. Bei TStringGrid heißt es glaub ich
Delphi-Quellcode:
Wie macht man das bei einem DBGrid ? ? ?
StringGrid1.RowCount:= 10
|
Re: DBGrid Anzahl der Reihen
Du die Höhe des Grids und die Spaltenhöhe
|
Re: DBGrid Anzahl der Reihen
Nein, ich meine nicht die Spaltenhöhe, sondern die Anzahl der Reihen im DBGrid
Wie kann man die festlegen ? |
Re: DBGrid Anzahl der Reihen
Hallo Thomm,
warum willst Du die Anzeige beschränken. Grundsätzlich werden erst mal alle Datensätze angezeigt. Meiner Meinung macht es doch nur Sinn, die Datensätze zu beschränken z.B. mit einem Filter(ich will alle Kunden in Bonn sehen). Wenn es tatsächlich nur die eine bestimmte Anzahl sein sollen, so schieb dir doch das DBGrid auf die Anzahl zu Recht, so das Du nur 5 Zeilen angezeigt werden. Bis bald Chemiker |
Re: DBGrid Anzahl der Reihen
Zitat:
wenn ich mein Programm öffne, dann hat das DBGrid nur 1 Reihe , weil die Datenbank noch leer ist , daher wollte ich die Anzahl der Reihen auf 20 oder 30 Reihen erhöhen, ich finde aber keine Einstellung wie man das eingeben kann. Wisst ihr wie man das macht ? Bei TStringGrid kann man das ganz einfach mit
Delphi-Quellcode:
StringGrid.RowCount := 20;
|
Re: DBGrid Anzahl der Reihen
(Gesamthöhe-Kopfhöhe-Fusshöhe)/Zeilenhöhe = Anzahl Zeilen
Zitat:
|
Re: DBGrid Anzahl der Reihen
warum nimmste nicht 'n solides stringgrid und füllst deine daten per hand ein?
da hast du doch viel mehr möglichkeiten :-) |
Re: DBGrid Anzahl der Reihen
Zitat:
|
Re: DBGrid Anzahl der Reihen
Hallo Thomm,
Die Anzahl der Zeilen wird von der Anzahl an Datensätze vorgegeben. Das bedeutet im Deinen Fall 20-30 leere Datensätze anlegen und dann das DBGrid anzuzeigen. Bis bald Chemiker |
Re: DBGrid Anzahl der Reihen
Warum willst du den nicht vorhandene Datensätze anzeigen?
|
Re: DBGrid Anzahl der Reihen
Zitat:
|
Re: DBGrid Anzahl der Reihen
Zitat:
Daher hat man am Anfang ein großes weißes Feld mit nur einer Reihe, ich dachte man könnte irgendwie mehrere Reihen anlegen. Ich nehme lieber ein TStringGrid, da ich nur eine sehr kleine Datenbank habe, genügt das , glaube ich, oder ? |
Re: DBGrid Anzahl der Reihen
Oder du übernimmst selber das Zeichnen
|
Re: DBGrid Anzahl der Reihen
was spricht gegen ein stringgrid?
da gibts einen arbeitsbereich, in dem er seine daten einträgt. nach bestätigung werden die in die DB und ins grid eingetragen. bei selektion im grid, können diese dann bearbeitet oder gelöscht werden... ansonsten angezeigt, sortiert und gefiltert... ausserdem kann ganz ohne persistente felder, zusätzliche informationen angezeigt werden, wie z.b. kosten je kilometer (inkl. abschreibung, benzin und wartung), kosten des Chauffeurs je kilometer und alles was er sonst noch sinnvoll findet :roll: |
Re: DBGrid Anzahl der Reihen
Das Handling von Daten in einem Stringgrid ist etwas komplexer. Dadurch hat man das Verhalten aber in der eigenen Hand.
|
Re: DBGrid Anzahl der Reihen
Zitat:
Ich dachte immer das geht nur mit DBGrid ? |
Re: DBGrid Anzahl der Reihen
Verbinden kannst du diese Nicht, aber den Inhalt des DataSets mit dem des StringGrids synchronisieren
|
Re: DBGrid Anzahl der Reihen
mit der hand 8)
ich verwend hier zu eine TObjectList, die ich mit den objekten füttere ... z.b. beim lesen... oder beim bearbeiten... ausserdem bekommt meine objectlist eine methode save, wie auch die jeweiligen objekte... wenn die methode aufgerufen wird, wird die objectlist abgearbeitet und für jedes objekt in der liste, die methode save aufgerufen. dort, ist dann der code, damit sich das objekt speichern kann ... aber MKinzler hat recht, ist etwas aufwendiger, als zwei kompos auf den bildschirm zu ziehen und zwei properties zusammenzuklicken... dafür hast du auch die kontrolle, über alles :-) |
Re: DBGrid Anzahl der Reihen
Ich glaube nicht, dass ich das hinbekomme. :shock:
Zu kompliziert :shock: Ich könnte eine TStringList anlegen in die die Daten aufgezeichnet werden, und dann in einer Textdatei abgespeichert werden, das bekomm ich hin. |
Re: DBGrid Anzahl der Reihen
Und was ist das Problem? Und warum ist es schlimm, das bei einem leeren Fahrtenbuch keine Einträge zu sehen sind?
|
Re: DBGrid Anzahl der Reihen
Zitat:
Eigentlich ist das doch egal, Hauptsache es funktioniert. Dachte nur man kann das optisch etwas verbessern |
Re: DBGrid Anzahl der Reihen
Zitat:
In ungefähr 2 Minuten kann man ein DBGrid, eine Query, Datasource und ein DBNavigator auf ein Formular klatschen und kann sofort die Daten anzeigen und editieren. Sogar zu Entwicklungszeit kann man die Live-Daten sehen; das ist wirklich beeindruckend. Das bekommt jeder Anfänger hin und das ist unter anderem auch das Tolle an Delphi, dass es so einfach ist, mal kurz ein paar Komponenten auf ein Formular zu setzen und schon zappelt es. Gerade im Bereich Datenbanken hat Dephi ja seine Stärken (wenn auch VS inzwischen auf-/überholt hat). Diese Einfachheit würde man einfach so wegwerfen, wenn man mit einem Stringgrid als DBGrid-Ersatz arbeitet. Für den Austausch DBGrid -> StringGrid ist stundenlange Arbeit erforderlich. Danach ist das Formular aufgeblasen mit Code, der sich nur um das StringGrid und wie die Daten rein und rauskommen dreht. Nichts Produktives wurde programmiert! Es mag Fälle geben (3-Tier-Anwendungen) bei denen ein StringGrid der Ersatz für ein DBGrid ist, aber bei einem normalen Programm wäre das schlichtweg eine Arbeitsbeschaffungsmaßnahme. @Thomm: Datenbanken sind dazu da Daten zu speichern. Du möchtest leere Zeilen speichern; das macht aber keinen Sinn. Wenn du die Anzahl der Zeilen beschränken willst, dann ist das natürlich etwas anderes.
SQL-Code:
SELECT TOP 25 * FROM Tabelle ' max. 25 Zeilen auslesen
|
Re: DBGrid Anzahl der Reihen
Da hast du, wie schon erwähnt folgende Möglichkeiten:
-Zeichnen des DBGrid selber übernehmen -Daten in StringGrid übernehmen und bei Änderungen und neuen Zeilen diese in die Datenbank übernehmen bzw. nach Ende komplettes Grid in Datenbank zurückschreiben Oder eine andere Kompo( ListView, Virtual TreeView) |
Re: DBGrid Anzahl der Reihen
Hallo Thomm,
beim StringGird hast Du doch auch zu Anfang leere Zeilen. Bis bald Chemiker |
Re: DBGrid Anzahl der Reihen
Zitat:
das kurze zusammenklicken, ist zwar gut und schön, aber die einschränkungen sind zu gross, als dass man ernsthaft damit arbeiten kann. für 'ne RAD application, als prototyp um die anforderungen zu evaluieren, ist das i.o. :-) . dafür ist ja RAD gedacht. aber um eine ordnetliche app zu bekommen, hilft dann alles nix, da muss der code weggeworfen werden und vernünftig aufgebaut und strukturiert :-) , dann wird auch ein schuh draus. für so eine trivialapplikation, mit einer tabelle und ein paar feldern, ist das aber durchaus ausreichend, wenn nicht weitere anforderungen vorliegen. |
Re: DBGrid Anzahl der Reihen
ScrollBy wurde noch nicht erwähnt. Jetzt noch meine Meinung hierzu :
Zitat:
Im Übrigen ist das auch ziemlich unproduktiv. |
Re: DBGrid Anzahl der Reihen
Zitat:
Eine Unit würde mir reichen. Also ich verwende zu 70% das DBGrid und zu 30% das Dev Express Grid. Das Dev Express Grid kann so gut wie alles, ist aber manchmal etwas zickig, deshalb verwende ich das DBGrid, wenn ich die Fülle den Funktionen nicht brauche. Damit bleibt mein Sourcecode sauber und ich weiss, dass die Grids funktionieren. Und darauf kommt es doch an: das GUI-Design muss locker von der Hand gehen, damit man sich auf die wirklich schwierigen Dinge konzentieren kann. |
Re: DBGrid Anzahl der Reihen
Zitat:
|
Re: DBGrid Anzahl der Reihen
Zitat:
|
Re: DBGrid Anzahl der Reihen
Just my 2 cents :
Ich arbeite erst seit 2 Monaten mit Delphi, denke aber, daß man als ernsthafter Programmier-Anfänger sehr schnell über eine "Zusammenklick"-Anwendung hinaus kommt. Das Erfolgserlebnis am Anfang ist aber für die weitere Motivation nicht zu unterschätzen, außerdem ist es wie schon gesagt für Rapid Prototyping bzw. Anforderungs-Evaluierung ein sehr schoenes Werkzeug. Ich arbeite daher eher nach einem "Vom-Groben-zum-Feinen" - Ansatz, zumindest bei diesem ersten Projekt. Warum also das Rad für alltägliche, einfachere Softwarelösungen nochmal erfinden, wenn doch für sehr vieles schon passende Komponenten bereitstehen, und man sich auf die Logik dahinter konzentrieren kann... Btw, gibt es einen Weg festzustellen, ob Daten im Grid eingetragen sind oder nicht ? Ich stelle eine Parent/Child Beziehung in einem DBGrid dar und möchte bei einem Buttonklick gerne feststellen, ob ein Datensatz im Grid angezeigt, bzw. von der Ergebnismenge "ausgespuckt" wird... |
Re: DBGrid Anzahl der Reihen
Versuch es mal über DBGrid.DataSource.Dataset.RecordCount.
|
Re: DBGrid Anzahl der Reihen
*Patch* argh, RecordCount wars natürlich - vielen Dank !
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:16 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz