Toon posts:

[delphi] Hoe waarde invoeren in DBgrid

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben aan het proberen mijzelf (een beetje) wegwijs te maken in delphi 6, nu loop ik echter tegen iets aan waar ik het commando niet van kan vinden. Ik wil graag een waarde, die ingevoerd kan worden vanuit een invoerveld toevoegen aan de eerste cel van een DBgrid, en vanuit een ander invoerveld naar de 2de regel van de 1de cel in een DBgrid.

Alleen nu is mijn vraag aan jullie of iemand mij een stukje op weg kunnen helpen, zodat ik weet in welke hoek ik het zoeken moet. (Een link naar een website is al genoeg) Ik heb al gezocht via google, maar kan niet zoiets vinden.

Wie o wie kan mij een beetje op weg helpen?

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
Zomaar waardes toevoegen aan een DBGrid gaat volgens mij niet.
Een DBGrid geeft de waardes weer van de onderliggende Dataset (de TTable of de TQuery die aan de DBGrid hangt).

https://fgheysels.github.io/


Verwijderd

Topicstarter
Hemmm...

Mijn bedoeling namelijk is om in een invoerveld een waarde te kunnen invoeren, deze waarde gebruiken in een query zodat hij het resultaat in een DBgrid kan laten zien, alleen moet het programma als ik voor de 2de keer in hetzelfde invoerveld een andere waarde invoer, het resultaat op de 2de regel komen.
Dat is dus de reden dat ik vroeg of het mogelijk was om bepaalde waarden toetevoegen aan een DBgrid. Misschien is wat ik wil wel mogelijk in een tabel??

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
Op woensdag 10 juli 2002 08:50 schreef blackbird het volgende:
Hemmm...

Mijn bedoeling namelijk is om in een invoerveld een waarde te kunnen invoeren, deze waarde gebruiken in een query zodat hij het resultaat in een DBgrid kan laten zien, alleen moet het programma als ik voor de 2de keer in hetzelfde invoerveld een andere waarde invoer, het resultaat op de 2de regel komen.
Dat is dus de reden dat ik vroeg of het mogelijk was om bepaalde waarden toetevoegen aan een DBgrid. Misschien is wat ik wil wel mogelijk in een tabel??
Ehh, sorry hoor, maar ik snap het niet.
Je hebt dus een Grid en een TextBox?
In die Textbox vul je een waarde in, en wat doe je daar dan mee? Wat moet er met die waarde gebeuren?

https://fgheysels.github.io/


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Op woensdag 10 juli 2002 08:50 schreef blackbird het volgende:
Hemmm...

Mijn bedoeling namelijk is om in een invoerveld een waarde te kunnen invoeren, deze waarde gebruiken in een query zodat hij het resultaat in een DBgrid kan laten zien, alleen moet het programma als ik voor de 2de keer in hetzelfde invoerveld een andere waarde invoer, het resultaat op de 2de regel komen.
Dat is dus de reden dat ik vroeg of het mogelijk was om bepaalde waarden toetevoegen aan een DBgrid. Misschien is wat ik wil wel mogelijk in een tabel??
Wat jij wilt is, als ik het goed begrijp, gegevens laten zien in een grid. Het antwoord komt toevallig uit een query, maar de meerde resultaten wil je eigenlijk niet in een query en/of tabel opslaan. Kortom, de manier van representeren heeft niets met tabellen en/of queries temaken.

Een TDBGrid is niet het enige component dat rijen en kolommen heeft. Ook het TStringGrid, de TListView en zelfs de TListbox zijn enkele die ook rijen en kolommen kunnen weergeven. En dat zonder gebruik te maken van een tabel of query.

Je zou een memtable kunnen gebruiken om daar je resultaten in op te slaan. Dan kan je wel de TDBGrid gebruiken, maar als ik jouw was zou ik dat niet doen. TListView is in de meeste gevallen de beste oplossing. Zet de TListView in report mode. Dat ziet er uit als de details view van je windows explorer.

We adore chaos because we like to restore order - M.C. Escher


Verwijderd

Topicstarter
Op woensdag 10 juli 2002 09:03 schreef whoami het volgende:

[..]

Ehh, sorry hoor, maar ik snap het niet.
Je hebt dus een Grid en een TextBox?
In die Textbox vul je een waarde in, en wat doe je daar dan mee? Wat moet er met die waarde gebeuren?
Sorry ervoor dat ik niet zo duidelijk was. Ik probeer hieronder e.a. uit te leggen:

Ik heb een DBgrid en een Invoerveld. Ik voer een waarde in het invoerveld, in een query wordt deze waarde meegenomen zodat hij een bepaalde selectie laat zien in de DBgrid.

Als voorbeeld ik voer een persoonsnummer in en hij laat in de DBgrid de naam v/d persoon + extra gegevens zien.

Nu wil in het zelfde invoerveld een ander persoonsnummer ingeven, alleen deze moet hij op de 2de regel laten zien.

  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
Aha, je zult dus op de een of andere manier je reeds ingegeven persoonsnr's moeten bewaren, zodat je al die nr's kunt meegeven aan de query als parameter.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Op woensdag 10 juli 2002 09:07 schreef LordLarry het volgende:

[..]

Wat jij wilt is, als ik het goed begrijp, gegevens laten zien in een grid. Het antwoord komt toevallig uit een query, maar de meerde resultaten wil je eigenlijk niet in een query en/of tabel opslaan. Kortom, de manier van representeren heeft niets met tabellen en/of queries temaken.

Een TDBGrid is niet het enige component dat rijen en kolommen heeft. Ook het TStringGrid, de TListView en zelfs de TListbox zijn enkele die ook rijen en kolommen kunnen weergeven. En dat zonder gebruik te maken van een tabel of query.

Je zou een memtable kunnen gebruiken om daar je resultaten in op te slaan. Dan kan je wel de TDBGrid gebruiken, maar als ik jouw was zou ik dat niet doen. TListView is in de meeste gevallen de beste oplossing. Zet de TListView in report mode. Dat ziet er uit als de details view van je windows explorer.
Bedank voor het antwoord, alleen nu vroeg ik mij af hoe ik bijv. de TlistView kan koppelen aan de de uitvoer, zodat de opgevraagde gegevens in de TlistView komen, in de properties kun je hem namelijk niet direct koppelen, zoals een DBgrid.

  • Creepy
  • Registratie: Juni 2001
  • Laatst online: 18:57

Creepy

Tactical Espionage Splatterer

Een TListview zul je zelf moeten aanspreken a.d.v. de query.
De query resultaten kan je zelf doorlopen, en zo toevoegen aan een TListview
code:
1
2
3
4
5
while not query.eof do
begin
     //hier toevoegen aan de listview
     query.next
end;

Een directe koppeling tussen een Listview en een query is standaard niet mogelijk, maar misschien zijn er andere componenten die dit wel kunnen.

"I had a problem, I solved it with regular expressions. Now I have two problems". That's shows a lack of appreciation for regular expressions: "I know have _star_ problems" --Kevlin Henney


  • whoami
  • Registratie: December 2000
  • Laatst online: 20:22
Met die listview kun je het natuurlijk ook doen.

Iedere je keer je een waarde ingeeft in dat invoer veld, en je voert je query uit, voeg je een item toe aan de listview.
code:
1
2
3
4
5
6
7
8
9
procedure Toevoegen
begin
  Query.ParamByName ('parameter').AsInteger := id;
  Query.Open();
  if not Query.Eof and Query.Bof then begin
    NewListItem := ListView.Items.Add();
    ...
  end;
end;

Zoiets ongeveer... Dit zou je toch al op weg moeten helpen.

https://fgheysels.github.io/


Verwijderd

Topicstarter
Bedankt, voor de reacties.
Ik ben weer een heel eind opweg. Het zal nog wel een gepuzel zijn, maar dat is geen punt.

  • MisterE
  • Registratie: April 2002
  • Laatst online: 28-08 19:15
op delphi.about.com staat een goede (beknopte) database tut:

http://delphi.about.com/library/weekly/aa010101a.htm

download hem met Teleport Pro en lees,lees, lees

Verwijderd

Topicstarter
Op woensdag 10 juli 2002 22:17 schreef MisterE het volgende:
op delphi.about.com staat een goede (beknopte) database tut:

http://delphi.about.com/library/weekly/aa010101a.htm

download hem met Teleport Pro en lees,lees, lees
Dat wordt dus lezen....Veel lezen... :) Heb ik ook weer wat te doen op het werk. Het is namelijk momenteel erg rustig....

Alleen wat is Teleport Pro? ik heb daar nog nooit van gehoord.
Pagina: 1