Aller au contenu principal
Version: Next

Propriétés des formulaires


Schéma de couleurs

La propriété de schéma de couleurs n'est appliquée que sur macOS.

Cette propriété définit la palette de couleurs du formulaire. By default when the property is not set, the value for a color scheme is inherited (the form uses the scheme defined at the application level). Pour le formulaire, cette option peut être remplacée par l'une des deux options suivantes :

  • dark - texte clair sur fond foncé
  • light - texte foncé sur fond clair

Une palette de couleurs définie ne peut pas être remplacée par un CSS.

Grammaire JSON

NomType de donnéesValeurs possibles
colorSchemestring"dark", "light"

CSS

This property allows you to load specific CSS file(s) for the form.

A CSS file defined at the form level will override default style sheet(s). For more information, please refer to Style sheets page.

Grammaire JSON

NomType de donnéesValeurs possibles
cssstring or collectionCSS file path(s) provided as:
  • a string (a file for both platforms)
  • a collection of strings (a list of files for both platform)
  • a collection of {"path":string;"media":"mac" | "win"} objects

  • Form Class

    Name of an existing user class to associate to the form . The user class can belong to the host project or to a component, in which case the formal syntax is "componentNameSpace.className".

    Associating a class to the form provides the following benefits:

    • When you work in the Form editor, the associated class is used for accurate syntax checking of expressions such as Form.myProperty in all areas of the Property list that support expressions (e.g. Variable or Expression, Font color expression...). Errors are displayed in red and warnings are displayed in yellow in the left column of the Property list and you can hover it to get explanations:

    • The detection of errors in the code of form object expressions by the compiler is improved.

    • You can also to benefit from autocompletion features in the code editor.

    • When the form is executed, 4D automatically instantiates a user class object for the form, which is returned by the Form object. Your code can directly access class functions defined in the user class through the Form command (e.g. Form.message()) without having to pass a formData object as parameter to the DIALOG, Print form, or FORM LOAD commands.

    note

    See this blog post for an illustration of this feature.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    formClassstringname of an existing user class ("className" or "componentNameSpace.className")

    Form Name

    This property is the name of the form itself and is used to refer to the form by name using the 4D language. The form name must comply with the rules specified for identifiers in 4D.

    Grammaire JSON

    The form name is defined by the name of the folder that contains the form.4Dform file. See project architecture for more information.


    Form Type

    The form type, i.e. its destination, defines the features that will be available to the form. For example, markers can only be set for list (output) table forms.

    Each table in a database generally has at least two table forms. One for listing records on-screen and the other for displaying one record at a time (used for data entry and modifications):

    • Output form - the output form or list form displays a list of records, with a single line per record. The results of queries are shown in an output form and users can double-click a line to display the input form for that record.

    • Input form - used for data entry. It displays a single record per screen and typically has buttons for saving and canceling modifications to the record and for navigating from record to record (i.e., First Record, Last Record, Previous Record, Next Record).

    Supported types depend on the form category:

    Form TypeJSON grammarDescriptionSupported with
    Formulaire détaillédetailScreenA display form for data entry and modificationProject forms - Table forms
    Detail Form for PrintingdetailPrinterA printed report with one page per record, such as an invoiceProject forms - Table forms
    List FormlistScreenA form for listing records on the screenTable forms
    List Form for PrintinglistPrinterA printed report that list recordsTable forms
    Aucunno destinationA form with no specific featureProject forms - Table forms

    Grammaire JSON

    NomType de donnéesValeurs possibles
    destinationstring"detailScreen", "listScreen", "detailPrinter", "listPrinter"

    Inherited Form Name

    This property designates the form to inherit in the current form.

    To inherit from a table form, set the table in the Inherited Form Table property.

    To remove inheritance, select \<None> in the Property List (or " " in JSON).

    Grammaire JSON

    NomType de donnéesValeurs possibles
    inheritedFormstringName of table or project form OR a POSIX path to a .json file describing the form OR an object describing the form

    Inherited Form Table

    This property specifies the database table from which to inherit a form in the current form.

    Set to \<None> in the Property List (or " " in JSON) to inherited from a project form.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    inheritedFormTablestring or numbertable name or table number

    Pages

    Chaque formulaire est composé d'au moins deux pages :

    • une page 0 (page de fond)
    • une page 1 (page principale)

    Pour plus d'informations, veuillez consulter le thème Pages formulaire.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    pagescollectionCollection de pages (chaque page est un objet, la page 0 est le premier élément)

    Publié en tant que sous-formulaire

    Pour qu'un formulaire de composant soit sélectionné comme sous-formulaire dans une base de données hôte, il doit avoir été explicitement partagé. Lorsque cette propriété est sélectionnée, le formulaire sera publié dans le projet hôte.

    Seuls les projets formulaire peuvent être indiqués comme étant des sous-formulaires publiés.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    sharedbooleantrue, false

    Mémoriser géométrie

    Lorsque cette option est cochée, si la fenêtre est ouverte via la commande Creer fenetre formulaire avec le paramètre *, plusieurs paramètres du formulaire seront automatiquement mémorisés par 4D au moment de la fermeture de la fenêtre, quelle que soi

    • la page courante,
    • la position, la taille et la visibilité de chaque objet du formulaire (y compris la taille et la visibilité des colonnes de list box).

    Cette option ne prend pas en compte les objets générés via la commande OBJECT DUPLICATE. Pour que l’utilisateur retrouve son environnement lors de l’utilisation de cette commande, le développeur doit répéter la séquence de création, définition et positionnement des objets.

    Lorsque cette option est cochée, l’option Mémoriser valeur est en outre disponible pour certains objets.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    memorizeGeometrybooleantrue, false

    Voir également

    Save Value


    Nom de la fenêtre

    Le nom de la fenêtre est utilisé lorsque le formulaire est ouvert à l'aide des commandes Open form window et Open window dans l'environnement d'application. Le nom de la fenêtre apparaît dans la barre de titre de la fenêtre.

    Vous pouvez utiliser des références dynamiques pour définir les noms de fenêtre des formulaires, c'est-à-dire :

    • Une référence XLIFF standard stockée dans le dossier Resources.
    • Un libellé de table ou de champ : La syntaxe à appliquer est la suivante : <?[TableNum]FieldNum> ou <?[TableName]FieldName>.
    • Une variable ou un champ : La syntaxe à appliquer est la suivante : \N-<VariableName&#062 ; ou &#060 ;[TableName]FieldName&#062 ;. La valeur du champ ou de la variable sera affichée dans le nom de la fenêtre.

    Le nombre de caractères pour un nom de fenêtre est limité à 31.

    Grammaire JSON

    NomType de donnéesValeurs possibles
    windowTitlestringLe nom de la fenêtre sous forme de texte brut ou de référence