Results 1 to 12 of 12

Thread: Recordnr Veld in DBGrid

  1. #1
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195

    Recordnr Veld in DBGrid

    Hee,

    is het mogelijk om naast de velden uit de database ook nog een extra column met een nummer in een grid te plaatsen?

    Tot nu toe add ik de velden aan de grid (omdat in dit geval de velden nooit zullen wijzigen, normaal ben ik niet zo'n voorstander van het vooraf ADD'en van velden) en dan voeg ik nog een eigen column toe aan de grid.

    Maar ik krijg er geen data in.

    Het is de bedoeling dat er in de eerste column (de zelfgemaakte) een soort recordcount komt. Dus eigenlijk een teller van 1 tot het einde van de tabel.

    Ik heb al geprobeert om in de OnDrawColumnCell procedure de Field[0].Text aan te passen, maar dan gebeurt er helemaal niks.

    Alvast bedankt.

    Groetjes,
    Cryothic
    Groetjes van Jeroen

  2. #2
    Senior Member walterheck's Avatar
    Join Date
    Oct 2001
    Location
    Belo Horizonte, Brasil
    Posts
    4,212
    waarom kwak je r niet een veld bij in je database? dan heb je ook je doel bereikt en kun je dat veld meteen primary key maken...
    Nee, de Romeinen spraken geen ISO-8859-1 LATIN

  3. #3
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195
    Het gaat om een stand.
    Ik hou scores bij, en sorteer de tabel vervolgens op scores, dus hoogste score eerst enz.

    Dat eerste veld is dus de positie in de scoretabel.
    Ik kan er wel een veld bijmaken met de posities, maar dan moet ik bij het invoeren van de scores zelf die waarden aan gaan passen. (klinkt geloof ik onduidelijk )

    Of is er een mogelijkheid om het met SQL te doen?
    Groetjes van Jeroen

  4. #4
    Senior Member walterheck's Avatar
    Join Date
    Oct 2001
    Location
    Belo Horizonte, Brasil
    Posts
    4,212
    Je kunt natuurlijk ook alles in een stringgrid kwakken. dan kun je heel gemakkleijk een eerste kolom erbij doen. Moet je wel steeds die stringgrid blijven updaten...
    Nee, de Romeinen spraken geen ISO-8859-1 LATIN

  5. #5
    Als je je recordnummer wilt laten zien kun je het beste een calculated field maken en dan in het OnCalc event het veld vullen met het recordnummer.

    Een calculated field maak je door de fields editor te openen (dubbelklik op dataset), alle velden toe te voegen en vervolgens een nieuw (calculated) field toe te voegen. In het OnCalc event zet je dan:
    Code:
    CalcFieldName.Value := DataSet.Recno
    Marcel

  6. #6
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195
    Ja, dat heb ik inmiddels geprobeert.
    Probleem is dan, dat op de een of andere manier de eerste en het laatste record afentoe -1 als waarde geven.

    Echt vreemd, want als het eerste record op -1 staat, dan zet ie voor record 2 wel een 2.
    Groetjes van Jeroen

  7. #7
    Hmm, vreemd! En heb je het OnGetText event al geprobeerd?
    Marcel

  8. #8
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195
    Nee, zal ik vanmiddag eens proberen.

    Die -1's komen als volgt:

    -Als ik net de tabel open.
    -Als ik met de scrolbalk helemaal naar beneden of naar boven scroll.

    Als ik bijvoorbeeld een record selecteer, en loop er d.m.v. pg_up en pg_down of de pijltjestoetsen doorheen, is er niks aan de hand.

    Maar ik zal onGetText eens proberen.

    Bedankt.

    [EDIT]
    Ben ik weer ff.
    De TTable en TDBGrid hebben bijde geen onGetText event.
    [/EDIT]

    [EDIT2]
    EERST ZOEKEN DAN PAS ZEUREN
    Sorry, al gevonden, Event van het field
    [/EDIT2]
    Last edited by Cryothic; 08-Apr-02 at 09:27.
    Groetjes van Jeroen

  9. #9
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195
    Ok, ben ik weer.
    Nu maar in een nieuwe reply

    Probleem is achterhaald, maar nog niet opgelost.

    Probleem was:
    Eerste en laatste record geven vaak -1 als waarde.

    Probleem is:
    In BDE werkt het perfect, niks aan de hand.
    Alleen gebruik ik ADO, en daardoor komen er dus afentoe van die -1 waardes in voor.

    Als ik 2 tabellen in 2 grids plaats, 1 ADO en 1 Paradox, doet die Paradox tabel het gewoon goed, alleen die ADO (MSAcces) tabel doet het niet.

    Groetjes van Jeroen

  10. #10
    Hmm, dat lijkt me een bug in de Delphi implementatie. Maar je hebt gelukkig ook directe toegang tot de ADO interface en dan kun je het als volgt doen:

    ADOTable1RecNo.Value := ADOTable1.Recordset.AbsolutePosition;
    Marcel

  11. #11
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195
    bedankt,
    ik zal het morge eens proberen.
    Groetjes van Jeroen

  12. #12
    Metal(lica) - fan Cryothic's Avatar
    Join Date
    Mar 2002
    Location
    Weesp
    Posts
    195
    Ok, ik heb het geprobeerd:

    Code:
    procedure TForm1.ADOTable1CalcFields(DataSet: TDataSet);
    begin
      AdoTable1.FieldByName('Teller').AsInteger := AdoTable1.Recordset.AbsolutePosition;
    end;
    En het werkt geweldig.
    Dus, nogmaals bedankt.
    Groetjes van Jeroen

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. veld selecteren in dbgrid
    By jdinge48 in forum Databases
    Replies: 3
    Last Post: 21-Jun-04, 23:34
  2. Checkbox in veld DBGrid
    By nky in forum Databases
    Replies: 2
    Last Post: 14-Jun-04, 19:59
  3. DBgrid veld aantal decimalen instellen
    By casper in forum Databases
    Replies: 12
    Last Post: 21-May-04, 22:24
  4. Replies: 7
    Last Post: 06-Jul-03, 00:37

Bookmarks

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •