* * * *

Privacy Policy

Blog italiano

Clicca qui se vuoi andare al blog italiano su Lazarus e il pascal.

Forum ufficiale

Se non siete riusciti a reperire l'informazione che cercavate nei nostri articoli o sul nostro forum vi consiglio di visitare il
Forum ufficiale di Lazarus in lingua inglese.

Lazarus 1.0

Trascinare un file nel programma
DB concetti fondamentali e ZeosLib
Recuperare codice HTML da pagina web
Mandare mail con Lazarus
Stabilire il sistema operativo
Esempio lista in pascal
File INI
Codice di attivazione
Realizzare programmi multilingua
Lavorare con le directory
Utilizzare Unità esterne
TTreeView
TTreeview e Menu
Generare controlli RUN-TIME
LazReport, PDF ed immagini
Intercettare tasti premuti
Ampliare Lazarus
Lazarus e la crittografia
System Tray con Lazarus
UIB: Unified Interbase
Il file: questo sconosciuto
Conferma di chiusura di un applicazione
Liste e puntatori
Overload di funzioni
Funzioni a parametri variabili
Proprietà
Conversione numerica
TImage su Form e Panel
Indy gestiore server FTP lato Client
PopUpMenu sotto Pulsante (TSpeedButton)
Direttiva $macro
Toolbar
Evidenziare voci TreeView
Visualizzare un file Html esterno
StatusBar - aggirare l'errore variabile duplicata
Da DataSource a Excel
Le permutazioni
Brute force
Indy 10 - Invio email con allegati
La gestione degli errori in Lazarus
Pascal Script
Linux + Zeos + Firebird
Dataset virtuale
Overload di operatori
Lavorare con file in formato JSON con Lazarus
Zeos ... dietro le quinte (prima parte)
Disporre le finestre in un blocco unico (come Delphi)
Aspetto retrò (Cmd Line)
Lazarus 1.0
Come interfacciare periferica twain
Ubuntu - aggiornare free pascal e lazarus
fpcup: installazioni parallele di lazarus e fpc
Free Pascal e Lazarus sul Raspberry Pi
Cifratura: breve guida all'uso dell'algoritmo BlowFish con lazarus e free pascal.
Creare un server multithread
guida all'installazione di fpc trunk da subversion in linux gentoo
Indice
DB concetti fondamentali e connessioni standard
Advanced Record Syntax
DB concetti fondamentali e DBGrid
DB concetti fondamentali e TDBEdit, TDBMemo e TDBText
Advanced Record Syntax: un esempio pratico
Superclasse form base per programmi gestionali (e non)
Superclasse form base per programmi gestionali (e non) #2 - log, exception call stack, application toolbox
Superclasse form base per programmi gestionali (e non) #3 - traduzione delle form
Superclasse form base per programmi gestionali (e non) #4 - wait animation
Un dialog per la connessione al database:TfmSimpleDbConnectionDialog
Installare lazarus su mac osx sierra
immagine docker per lavorare con lazarus e free pascal
TDD o Test-Driven Development
Benvenuto! Effettua l'accesso oppure registrati.
Novembre 21, 2024, 08:01:08 pm

Inserisci il nome utente, la password e la durata della sessione.

111 Visitatori, 1 Utente

Autore Topic: Componente DBGridController  (Letto 4035 volte)

giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Componente DBGridController
« il: Gennaio 17, 2023, 12:06:04 pm »
Buongiorno,

Stavo cercando un componende "DBGrid like" un po più evoluto di quello standard, guardando nell'Online Package Manager, ho trovato il componente DBGridController , di fatto funziona come una extention della DBGrid standard, cioè serve sia la DBGrid che questo componente, in cui si dichiara a livello di evento Form.Create di usare la DBGrid...

Ho scaricato anche il demo e le funzionalità sono veramente tante; sorting sia per singola colonna che per multiple, editing, search per colonna e per tabella, totali, count... a footer griglia..

A questo punto ho messo in piedi un piccolo programma (giusto un form con DBGrid e il componente in oggetto, più i soliti Connection, transaction, SQLQuery e DataSource) per prova.

Alla fine la sola cosa che non funziona (o facilmente non sono riuscito a capire come farla funzionare) è il Sort, cioè, quando faccio click sul titolo della colonna compare correttamente una piccola freccia up/down ad indicare che il comando è stato eseguito, ma i dati nella DBGrid non cambiano.

qualcuno di voi lo ha utilizzato ... sa come funziona ??

Thank you !

M
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

nomorelogic

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2921
  • Karma: +20/-4
Re:Componente DBGridController
« Risposta #1 il: Gennaio 18, 2023, 04:29:49 pm »
se non ricordo male devi impostare la proprietà "IndexFieldNames" del dataset
Imagination is more important than knowledge (A.Einstein)

giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Re:Componente DBGridController
« Risposta #2 il: Gennaio 18, 2023, 05:34:04 pm »
Ok questa sera vedo,

grazie
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Re:Componente DBGridController
« Risposta #3 il: Gennaio 20, 2023, 02:54:58 pm »
Niente da fare,
la documentazione è scarsa, non spiega e non fornisce esempi di codice adatto, ho scritto anche su lazarus.freepascal.org... vedremo.

Altri componenti "evoluti" con sort evfilter, in alternativa allo standard DBGrid ?
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

DragoRosso

  • Scrittore
  • Hero Member
  • *****
  • Post: 1395
  • Karma: +44/-0
  • Prima ascoltare, poi decidere
Re:Componente DBGridController
« Risposta #4 il: Gennaio 20, 2023, 03:57:48 pm »
Invece di lavorare sulla parte grafica, esegui una query sul DB con un "ORDER BY" ogni qualvolta uno preme sulla colonna .....

Ovviamente aggancia la tua DBGrid alla Query.

Ciao
:) Ogni alba è un regalo, ogni tramonto è una conquista :)

brunello

  • Jr. Member
  • **
  • Post: 83
  • Karma: +0/-0
Re:Componente DBGridController
« Risposta #5 il: Gennaio 20, 2023, 05:34:32 pm »
https://gitlab.com/lazaruscomponent/dbgridcontroller

.. Invece di lavorare sulla parte grafica, esegui una query sul DB con un "ORDER BY" ogni qualvolta uno preme sulla colonna .....

esatto lo riporta pure la documentazione, ciao

giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Re:Componente DBGridController
« Risposta #6 il: Gennaio 20, 2023, 06:04:06 pm »
Grazie Brunello,

quello che mi suggerisci lo so, ed è il modo in cui ho sempre usato il DBGrid, in tutte le sue implementazioni nelle varie form dell'applicazione; intercettando l'evento OnTitleClick e implementando il sort sul DB come metodo..

Come alternativa, cercavo un componente che implementasse questa funzionalità internamente, proprio per evitare quanto sopra

m
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Re:Componente DBGridController
« Risposta #7 il: Gennaio 22, 2023, 01:01:01 am »
Ho contattato "fire" (l'autore del componente) sul forum in inglese, spiegandogli il problema, ha aggiornato in mezz'ora il componente  integrando l'uso di SQLQuery e caricandolo su github.

ora funziona perfettamente, ho anche chiesto se può integrare  anche ZQuery  ;D

Va alla grande !

M
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Re:Componente DBGridController
« Risposta #8 il: Gennaio 22, 2023, 03:17:18 pm »
Per chibfosse interessato a provarlo, allego il link

https://gitlab.com/lazaruscomponent/dbgridcontroller]
SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2389
  • Karma: +10/-0
Re:Componente DBGridController
« Risposta #9 il: Gennaio 22, 2023, 04:05:02 pm »
Codice: [Seleziona]
     If (FGrid.DataSource.DataSet.ClassNameIs('TZQuery') OR FGrid.DataSource.DataSet.ClassNameIs('TZTable')) Then 
Ho come l'impressione che già conosca Zeos.

Così ad intuito. ;D

Stilgar
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

Stilgar

  • Global Moderator
  • Hero Member
  • *****
  • Post: 2389
  • Karma: +10/-0
Re:Componente DBGridController
« Risposta #10 il: Gennaio 22, 2023, 05:09:15 pm »
durante la chiusura del programma mi si pianta qui (con zeos, ma non credo sia un problema legato al dataset sottostante)




Codice: [Seleziona]

// Reset the internal datasource events to nil
   FDatasource.OnDataChange := nil;
   FDatasource.OnUpdateData := nil;
   // Reset the Dataset OnFilterRecord to nil on the dataset linked to the grid
   FGrid.Datasource.Dataset.OnFilterRecord := nil;        <------
Al mondo ci sono 10 tipi di persone ... chi capisce il binario e chi no.

giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Re:Componente DBGridController
« Risposta #11 il: Gennaio 22, 2023, 11:04:17 pm »
Ho appena ricevuto conferma che la versione attuale su github, ora integra la gestione di Zeoslib.

l'ho scaricata e testata e funziona perfettamente.
Relativamente agli errori che rilevate, non so che dire.

Nell'archivio c'è anche una demo, che mostra tutte le possibilità del controllo, tra le altre quella di poter definire un piè di pagina dove raggruppare, sommare, contare ... fare min e max per i campi della tabella

m

SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

Avogadro

  • Full Member
  • ***
  • Post: 217
  • Karma: +0/-0
Re:Componente DBGridController
« Risposta #12 il: Gennaio 25, 2023, 03:15:55 am »
 :)

E' presente dal 22 u.s. nell' on line package manager

appena ho un minuto  provero ad usarlo
 
finora ho usato la rxdbgrid e frammneti di codice trovati qua e là nell' universo di delphi

altre dbgrid e componeti analoghi semplicemnte poi alla prova dei fatti non funzionavano - o almeno così mi capitava -

vediamo se con questo componente ci si puo' semplificare la vita



giacomarko

  • Full Member
  • ***
  • Post: 107
  • Karma: +6/-0
Re:Componente DBGridController
« Risposta #13 il: Gennaio 25, 2023, 10:18:44 am »
Il componente permette sort per colonna anche multiplo (premendo shift), filtri a selezione su ogni colonna tipo Excel, selezione delle colonne da visualizzare runtime, editbox integrata nella cella per il campo data, ricerca per colonna o per intera tabella oltre ai classici add, delete, cancel...
Integra anche un footer dove si possono inserire formule di aggregazione dei dati; somma, conteggio, min e max....

posto un esempio

SO: W11
Release Lazarus: 3.0 del 2023.12.17 win32/win64
Versione FPC: 3.2.2
DB: MySQL 5.0, MSAccess

 

Recenti

How To

Utenti
  • Utenti in totale: 803
  • Latest: maXim.FI
Stats
  • Post in totale: 19169
  • Topic in totale: 2286
  • Online Today: 117
  • Online Ever: 900
  • (Gennaio 21, 2020, 08:17:49 pm)
Utenti Online
Users: 1
Guests: 111
Total: 112

Disclaimer:

Questo blog non rappresenta una testata giornalistica poiché viene aggiornato senza alcuna periodicità. Non può pertanto considerarsi un prodotto editoriale ai sensi della legge n. 62/2001.