Table Editable Base de donnée Vers 2.0

Programmation d'applications complexes
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Table Editable Base de donnée Vers 2.0

Message par microdevweb »

Image
Une Table liée directement à une Table Sql, avec possibilité de tri, recherche ci-dessous le code qu'il faudra pour l'exemple ci-dessus
et édition directe dans la table

Code : Tout sélectionner

UseSQLiteDatabase()
XIncludeFile "DataTable.pbi"
Global DataFile$=GetCurrentDirectory()+"DB\Teste.sqlite"
Global Event
; 
Procedure OpenMainWindows()
      Enumeration TbCivilite
            #Id
            #Pays
            #Localite
            #CodePostal
      EndEnumeration
      OpenWindow(0,0,0,800,600,"Teste",#PB_Window_SystemMenu)
      
      Table::CreateTable(0,50,50,450,450,"Teste",DataFile$,"TbLocalite","","")
      Table::AddColumn(0,#Id,"ID","id",150,#True)
      Table::AddColumn(0,#Pays,"Pays","idPays",150)
      Table::SetEditableColumn(0,#Pays,#True,0,0)
      Table::AddColumn(0,#Localite,"Localite","localite",150)
      Table::SetEditableColumn(0,#Localite,#True,Table::#TypeString,0)
      Table::SetRequired(0,#Localite,#True,#True)
      Table::AddColumn(0,#CodePostal,"Code postal","code_postal",150)
      Table::SetEditableColumn(0,#CodePostal,#True,Table::#TypeString,0)
      Table::AddLinkColumn(0,#Pays,"TbPays","id","pays")
      Table::SetFlagColumn(0,#Localite,#True,#True,#True)
      Table::SetFlagColumn(0,#CodePostal,#True,#True,#True)
;       Table::SetLineHeight(0,80)
      Table::SetOrderOnColumn(0,#Localite)
      Table::DrawTable(0)
EndProcedure

OpenMainWindows()

Repeat
      Event=WaitWindowEvent()
      Table::EventTable(0,Event)
      Select Event
            Case #PB_Event_Gadget
                  Select EventGadget()
                        Case 1
                              Debug Table::GetValue(0,#Localite)
                  EndSelect
      EndSelect
Until Event=#PB_Event_CloseWindow
version 2.0
https://www.mediafire.com/?1oudyomu2igyy71
Les colonnes de la table sont maintenant éditables avec un click droit de la souris.
Les records des tables liées sont affiché dans un combo
contenu su zip:
DataTable.pbi
IMG (les png pour les icones)
DB (la data base de teste)
Main.pb (pour les testes)

Fonctionnement
Pour la création de la table

Code : Tout sélectionner

CreateTable(idTable,X,Y,widht,height,title$,dataName$,dataTable$,user$,paseword$)
Pour l'ajout de colonne
ATTENTION: la première colonne doit reprendre la clef unique de la table et peut être masquée avec falg hide à #true

Code : Tout sélectionner

AddColumn(idTable,idColumn,title$,dbColumn$,width,hide.b=#False)
A placer dans la boucle événementielle (Event=WaitwindowEvent ou WindowEvent)

Code : Tout sélectionner

EventTable(idTable,Event)

Pour une liaison avec une autre table
idColumn=La colonne à lier
dbTableLink$=La table secondaire
dbColumnLink$=La colonne secondaire
dbReturnLink$=La colonne secondaire à affiché

Code : Tout sélectionner

AddLinkColumn(idTable,idColumn,dbTableLink$,dbColumnLink$,dbReturnLink$)
Personnalisation de la table
Ajout de la possibilité de tri, de recherche (de type LIKE), redimensionnement de la colonne

Code : Tout sélectionner

SetFlagColumn(idTable,idColumn,orderOn.b,chercheOn.b,redimOn.b)
Choix de la colonne qui servira de tri au départ

Code : Tout sélectionner

SetOrderOnColumn(idTable,idColumn,descOn.b=#False)
Configuration graphique optionnel

Code : Tout sélectionner

SetLineHeight(idTable,height)

Code : Tout sélectionner

SetLineColorPairImpair(idTable,colorPair,colorImpair)

Code : Tout sélectionner

SetLineTileColor(idTable,colorBack,colorFont)

Code : Tout sélectionner

SetLineTileColumnColor(idTable,colorBack,colorFont)

Code : Tout sélectionner

SetRibonColor(idTable,colorBack,colorFont)

Code : Tout sélectionner

SetTitleHeight(idTable,height)

Code : Tout sélectionner

SetTitleColumnHeight(idTable,height)

Code : Tout sélectionner

SetTextColor(idTable,color)
utiliser dabord LoadFont()

Code : Tout sélectionner

SetFontTitle(idTable,font)

Code : Tout sélectionner

SetFontTitleColumn(idTable,font)

Code : Tout sélectionner

SetFontText(idTable,font)
Nouveautés 2.0
pour rendre la colonne éditable (met directement la BD à jour)
TypeEdit= les flag du gadget string (numérique, majuscule, number ect)
LenEdit =longueur maximum de la saisie (pas encore fonctionnel)

Code : Tout sélectionner

SetEditableColumn(idTable,idColumn,EditableOn.b,TypeEdit,LenEdit)
pour rendre la colonne obligatoire et éventuellement de type unique sans doublon

Code : Tout sélectionner

SetRequired(idTable,idColumn,RequiredOn,UniqueRecordOn)


Ce qui est prévu après...
Ajout d'une nouvelle ligne pour ajouter un record
Dernière modification par microdevweb le lun. 16/juin/2014 13:27, modifié 11 fois.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 112
Inscription : mer. 28/janv./2009 13:28

Re: Table Base de donnée Vers 1.0 beta 1

Message par Philippe_GEORGES »

Sacré bon travail, je vais tester tout ça. J'ai un logiciel en cours de conception qui va utiliser ce composant.

Merci encore
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Avatar de l’utilisateur
Philippe_GEORGES
Messages : 112
Inscription : mer. 28/janv./2009 13:28

Re: Table Base de donnée Vers 1.0 beta 1

Message par Philippe_GEORGES »

Juste un détail, où sont les images en *.png ? J'ai bien le .pbi, mais pas les images....

Phil
Philippe GEORGES
"La simplicité est la sophistication suprême" (De Vinci)
assistance informatique, création de logiciels
georges.informatique@gmail.com
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Table Base de donnée Vers 1.0 beta 1

Message par microdevweb »

Les image sont en cathimage :P oups je vais corriger
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Table Base de donnée Vers 1.0 beta 2

Message par microdevweb »

Voila les image sont dans le zip :roll:
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Mesa
Messages : 1093
Inscription : mer. 14/sept./2011 16:59

Re: Table Base de donnée Vers 1.0 final

Message par Mesa »

J'ai un problème d'affichage, probablement dû au DPI de mon bureau que j'ai agrandi à 125% =120ppp au lieu du DPI standard de 100% =96ppp.

Image

M.
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Table Base de donnée Vers 1.0 final

Message par microdevweb »

Merci Mesa
Hummmm j'ai pas pris cela en considération, il faudra que j'y regarde :oops:
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Table Base de donnée Vers 1.0 final

Message par microdevweb »

Voila la version 1.2 devrai corriger j'espère ce problème

tester à 100% 125% et 150%
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Avatar de l’utilisateur
microdevweb
Messages : 1798
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: Table Editable Base de donnée Vers 2.0 Beta 1

Message par microdevweb »

Un petit Up pour la version 2.0

Les colonnes sont maintenant directement éditable dans la table
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
Répondre