Référence de classe WorkflowPage

Méthodes accessibles

void FillFormData(DataSet ou XmlDocument)

Utilisez cette méthode pour charger le fichier XML de données de formulaire temporaire (dataOUT.xml) à partir du répertoire de travail de l'action en cours dans le paramètre IN form data. Vous pouvez utiliser un DataSet ou un objet XmlDocument pour recevoir les données du formulaire.

Référez-vous à la propriété de classe StoragePath de WorkflowPage pour l'emplacement du répertoire de travail de l'action en cours.

protected void Page_Load(object sender, System.EventArgs e)
{
     // ...
     
     // Remplissez vos données de formulaire
     FillFormData(formData);
     
     // ...
}

S'il y a déjà des données dans votre DataSet ou XmlDocument, les données seront vidées avant d'être remplies.

void SaveFieldsData(DataSet)

Cette méthode tentera de trouver des contrôles dans la page qui ont le même ID que les colonnes dans Table1 de vos données de formulaire. Lorsqu'il en trouve un, il met à jour la valeur des données du formulaire avec la valeur du contrôle.

Si la propriété DataType de la colonne en cours de remplissage est Date ou Double, le type de données de la valeur du formulaire Web sera validé et formaté à l'aide du code de culture actuel avant d'être poussé dans le DataSet. Si la valeur n'est pas cohérente avec le type de données, une exception FormatException est lancée avec un message approprié vous indiquant quel champ n'est pas une date valide ou une valeur double.

Pour un contrôle FileUpload ou HtmlInputFile, seul le nom du fichier est poussé dans l'ensemble de données, vous devez donc toujours appeler la méthode SaveFileAttachment afin d'enregistrer le fichier dans le chemin de stockage EFORMASPX.

Pour utiliser cette méthode, vous devez utiliser un DataSet comme source de données de formulaire.

Si un ListBox avec mode de sélection multiple ou un CheckBoxList est trouvé pour les données d'un formulaire, la valeur sera toutes les valeurs sélectionnées (ou cochées) séparées par des virgules.

Les contrôles Web suivants sont supportés :

  • TextBox

  • Label

  • DropDownList

  • ListBox

  • CheckBox

  • CheckBoxList

  • RadioButton

  • RadioButtonList

  • FileUpload

  • HtmlInputFile

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...

    // Enregistrer les pièces jointes dans le chemin de stockage EFORMASPX
    this.SaveFileAttachment(TEST_UPLOAD.PostedFile);

    // Mettre à jour automatiquement les données du formulaire
    // avec les valeurs des champs du formulaire Web
    this.SaveFieldsData(formData);

    // ...
}

void BindFormDataToFields(DataSet, bool isPageDataBind = true)

Utilisez cette méthode lorsque vous souhaitez lier automatiquement tous vos champs de formulaire Web à l'aide de votre DataSet de données de formulaire. Les contrôles supportés sont exactement les mêmes que ceux supportés par la méthode SaveFieldsData.

Définissez le paramètre isPageDataBind sur false si vous souhaitez ignorer l'appel de Page.DataBind() au début de cette méthode. Sinon, par défaut, un Page.DataBind() est appelé au début pour s'assurer que les autres contrôles sont liés avant de lier vos propres contrôles de formulaire Web.

Dans certains cas, un appel à l'événement de liaison de données de page peut ne pas être souhaité (p.ex. sauter la liaison de données de page qui a déjà été effectuée auparavant), ou si vous souhaitez contrôler exactement quand exécuter l'événement de liaison de données de page à la place.

protected void Page_Load(object sender, EventArgs e)
{
    // ...

    // Lier les contrôles de formulaire Web avec les données du formulaire
    // lors du chargement de la première page
    if (!Page.IsPostBack)
    {
        BindFormDataToFields(formData);
    }
    
    // ...
}

void SaveFormData(DataSet ou XmlDocument)

Utilisez cette méthode pour écrire un form data dans le fichier XML de données de formulaire temporaire (dataOUT.xml) dans le répertoire de travail de l'action en cours. Vous pouvez utiliser un DataSet ou un objet XmlDocument pour mettre à jour le fichier XML de données de formulaire.

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...
    
    // Habituellement, vous souhaiterez enregistrer les données de
    // votre formulaire avant de soumettre
    this.saveFormData(formData);

    // ...
}

void SaveFormData (DataSet, bool saveFieldValues)

Utilisez cette méthode pour enregistrer les valeurs de champ de formulaire Web dans des données de formulaire (saveFieldValues défini sur true), puis pour écrire les données de formulaire dans le fichier XML de données de formulaire temporaire (dataOUT.xml) dans le répertoire de travail de l'action en cours.

Cette surcharge de méthode n'est disponible que si votre form data est un objet DataSet.

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...

    // Habituellement, vous souhaiterez enregistrer les données de
    // votre formulaire avant de soumettre
    this.SaveFormData(formData, true);

    // ...
}

Vous devez définir le paramètre saveFieldValuessur true si vous souhaitez enregistrer l'état actuel des valeurs de champ de formulaire Web dans form data. Cela assurera que les valeurs des données du formulaire sont synchronisées avec les valeurs des champs du formulaire Web avant toute manipulation du formulaire Web ou des données du formulaire.

Par exemple, il est nécessaire d'enregistrer les valeurs du champ du formulaire Web lors de l'injection de données personnalisées dans les données du formulaire avant de recharger le formulaire Web à l'aide de la méthode BindFormDataToFields. Sinon, l'état actuel des valeurs des champs de formulaire Web pourrait être perdu après l'actualisation.

Dans la plupart des scénarios, nous suggérons de définir le paramètre saveFieldValues sur true avant toute manipulation susceptible de modifier le formulaire Web ou les données du formulaire.

void SubmitToWorkflow()

Utilisez cette méthode lorsque vous souhaitez soumettre le formulaire Web à WorkflowGen et le rediriger du formulaire Web vers WorkflowGen.

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...

    // Soumet tout au workflow et crée automatiquement
    // l'archive de formulaire si nécessaire.
    this.SubmitToWorkflow();
    
    // ...
}

void SubmitToWorkflow(isDraftMode)

Utilisez cette méthode lorsque vous souhaitez soumettre le formulaire Web à WorkflowGen et le rediriger du formulaire Web vers WorkflowGen en mode DRAFT (isDraftMode défini sur true). Cela ignorera tous les champs obligatoires, y compris les GridViews. (Cette méthode est disponible depuis la version 2.2.5 de WorkflowGen.My.)

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...

    // Soumet tout au workflow et crée automatiquement
    // l'archive de formulaire si nécessaire.
    this.SubmitToWorkflow(true);
    
    // ...
}

void SubmitToWorkflow(DataSet or XmlDocument)

Utilisez cette méthode lorsque vous souhaitez soumettre le formulaire Web à WorkflowGen, enregistrer les données de votre formulaire et rediriger du formulaire Web vers WorkflowGen.

Cette surcharge de méthode n'est disponible que si les données de votre formulaire sont un objet DataSet.

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...

    // Soumet tout au workflow et crée automatiquement
    // l'archive de formulaire si nécessaire.
    this.SubmitToWorkflow(formData);
    
    // ...
}

void SubmitToWorkflow(DataSet, Boolean saveFieldValues)

Utilisez cette méthode lorsque vous souhaitez soumettre le formulaire Web à WorkflowGen, enregistrer les valeurs de vos champs dans vos données de formulaire (saveFieldValues défini sur true), enregistrer vos données de formulaire, puis rediriger du formulaire Web vers WorkflowGen.

protected void Submit_Click(object sender, System.EventArgs e)
{

    // ...

    // Soumet tout au workflow et crée automatiquement
    // l'archive de formulaire si nécessaire.
    this.SubmitToWorkflow(formData, true);
    
    // ...
}

string SaveFileAttachment(HttpPostedFile)

Utilisez cette méthode lorsque vous souhaitez enregistrer une pièce jointe dans le chemin de stockage de EFORMASPX dans un sous-répertoire appelé upload. Cette méthode renvoie le nom du fichier.

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...


    // Enregistrer la pièce jointe dans EFORMASPX
    SaveFileAttachment(TEST_UPLOAD.PostedFile);

    // ...
}

string SaveFileAttachment (HttpPostedFile, string)

Utilisez cette méthode lorsque vous souhaitez enregistrer une pièce jointe dans le chemin de stockage de EFORMASPX dans un sous-répertoire appelé upload et que vous souhaitez spécifier un nom de fichier à utiliser. Cette méthode renvoie le nom du fichier.

protected void Submit_Click(object sender, System.EventArgs e)
{
    // ...

    // Enregistrez la pièce jointe dans EFORMASPX
   SaveFileAttachment(TEST_UPLOAD.PostedFile, "fileName.ext");

    // ...
}

Méthodes substituables

string GetFormArchive()

Remplacez cette méthode si vous souhaitez personnaliser la sortie de l'archive de formulaire. Cette méthode doit renvoyer une page HTML complète.

protected override string GetFormArchive()
{
    StringBuilder htmlContent = new StringBuilder();

    // Créez le code HTML de votre choix dans l'objet htmlContent
    // ...
    
    return htmlContent.ToString();
}

void ChangeFormArchiveLayout()

Remplacez cette méthode afin de personnaliser la mise en page de l'archive de formulaire.

protected override void ChangeFormArchiveLayout()
{
    // Effectuez des traitements personnalisés ici
    // ...

    // Assurez-vous d'appeler la base ChangeFormArchiveLayout si vous voulez
    // champs soient automatiquement mis en lecture seule et masquer les champs
    // qui sont répertoriés dans FORM_ARCHIVE_HIDDEN_FIELDS

    base.ChangeFormArchiveLayout();
}

void ChangeFormLayout()

Remplacez cette méthode afin de personnaliser la mise en page de votre formulaire Web.

protected override void ChangeFormLayout()
{
    // Assurez-vous d'appeler le ChangeFormLayout de base avant de faire quoi que ce soit d'autre
    // car si vous l'appelez à la fin, vous remplacerez vos modifications personnalisées.
    base.ChangeFormArchiveLayout();    

    // Effectuez des traitements personnalisés ici
    // p.ex. :
    if (CurrentWorkflowActionName == "ACTION_NAME1")
    {
        // ...
    }
    else if (CurrentWorkflowActionName == "ACTION_NAME2")
    {
        // ...
    }
}

Propriétés

string CurrentWorkflowActionName (lecture seule)

  • Le nom de l'action WorkflowGen actuelle

  • Il sera vide si vous n'avez pas ajouté de paramètre CURRENT_ACTION à votre action.

if (CurrentWorkflowActionName == "ACTION_NAME")
{
    // ...
}

string LangId (lecture seule)

  • Le code de culture actuel de l'utilisateur WorkflowGen connecté

  • Exemple de code de culture : fr-FR

if (LangId == "fr-FR")
{
    // Faites un traitement spécifique à la culture ...
}

string StoragePath (lecture seule)

  • Le chemin absolu vers le dossier de stockage temporaire du répertoire de travail de l'action en cours. Il est utilisé pour lire et écrire les données du formulaire et pour enregistrer les pièces jointes.

  • Exemple de valeur : DISQUE:\inetpub\wwwroot\wfgen\App_Data\Files\EFORMASPX

FileStream myfs = new FileStream(this.StoragePath + "\\signedXml.xml",
FileMode.Create, FileAccess.ReadWrite);

string RequiredFieldsErrorMessage (lecture et écriture)

  • Le message d'erreur pour les champs obligatoires

  • Valeur par défaut : Le champ {0} est obligatoire

  • Cette valeur doit contenir {0} et contiendra le nom du champ.

this.RequiredFieldsErrorMessage = Resources.Strings.RequiredErrorMessage;

string FormArchiveFileName (lecture et écriture)

  • Le nom du fichier d'archive du formulaire

  • Valeur par défaut : form_archive.htm

this.FormArchiveFileName = "my_form_archive.htm";

string FormArchiveCssPath (lecture et écriture)

  • Le chemin d'accès relatif à la feuille de style de l'archive de formulaire

  • Valeur par défaut : \css\form_archive.css

Color ReadOnlyFieldsBorderColor (lecture et écriture)

  • Couleur de bordure ou couleur du texte du champ en lecture seule s'il s'agit d'une liste déroulante, d'une liste de cases à cocher ou d'une liste de boutons radio

  • Si la couleur est Color.Empty, la couleur ne sera pas affectée.

  • Valeur par défaut : Color.Empty

this.ReadOnlyFieldsBorderColor = Color.Green;

Color RequiredFieldsBorderColor (lecture et écriture)

  • Couleur de bordure ou couleur du texte du champ requis s'il s'agit d'une liste déroulante, d'une liste de cases à cocher ou d'une liste de boutons radio

  • Si la couleur est Color.Empty, la couleur ne sera pas affectée.

  • Valeur par défaut : Color.Red

this.RequiredFieldsBorderColor = Color.Orange;

ColorizationType FieldsColorization (lecture et écriture)

  • Le type de colorisation pour les champs obligatoires, en lecture seule et modifiables

  • Valeurs possibles : Automatic, Css, None

  • Valeur par défaut : Automatic

this.FieldsColorization = Fields.ColorizationType.Css;

Boolean IsStandAloneMode (lecture seule)

  • Cette propriété indique si le formulaire Web s'exécute ou non en mode autonome.

  • L'exécution en mode autonome signifie que le formulaire Web n'a pas été instancié par WorkflowGen, mais plutôt en appelant l'adresse du formulaire Web directement sans aucun paramètre WorkflowGen.

if (!this.IsStandAloneMode) 
{
    Page.DataBind();
}

Boolean IsSimpleMode (lecture et écriture)

  • Cette propriété détermine si vous exécutez WorkflowPage en mode avancé ou simple.

  • Cette propriété doit être déterminée dans le constructeur du formulaire Web.

  • Valeur par défaut : true

this.IsSimpleMode = false;

Boolean HandleSubmitButton (lecture et écriture)

  • Cette propriété détermine si WorkflowPage gère automatiquement le bouton d'envoi avec l'ID SubmitButton. Si la propriété est définie sur true, vous n'avez pas à gérer le code SubmitButton.

  • Cette propriété doit être déterminée dans le constructeur du formulaire Web.

  • Cette propriété n'est disponible qu'en mode simple.

  • Valeur par défaut : true

this.HandleSubmitButton = false;

DataSet FormData (lecture seule)

  • Cette propriété contient le DataSet des données de formulaire géré par WorkflowPage si vous êtes en mode simple.

  • Cette propriété n'est disponible qu'en mode simple.

FormData.Tables["Table1"].Rows[0]["REQUEST_DATE"] = DateTime.Now.ToString();

string RequiredGridViewsErrorMessage (lecture et écriture)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'un GridView requis n'a pas encore été rempli.

  • Valeur par défaut : The {0} list needs to have at least one filled row.

  • Cette valeur doit contenir {0}; ce symbole contiendra le nom du champ.

this.RequiredGridViewsErrorMessage =
 Resources.Strings.RequiredGridViewsErrorMessage;

string InvalidNumberGridViewErrorMessage (lecture et écriture)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'un champ numérique n'a pas été rempli avec une valeur numérique valide dans un GridView.

  • Valeur par défaut : You have entered an invalid number in the {0} column.

  • Cette valeur doit contenir {0}; ce symbole contiendra le nom du champ.

this.InvalidNumberGridViewErrorMessage =
 Resources.Strings.InvalidNumberGVErrMsg;

string InvalidCurrencyGridViewsErrorMessage (lecture et écriture)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'un champ numérique n'a pas été rempli avec une valeur de devise valide dans un GridView

  • Valeur par défaut : You have entered an invalid number in the {0} column. Do not enter the currency symbol in the value.

  • Cette valeur doit contenir {0}; ce symbole contiendra le texte d'en-tête de colonne.

this.InvalidCurrencyGridViewsErrorMessage =
 Resources.Strings.InvalidCurrGVErrMsg;

string RequiredColumnsInGridViewsErrorMessage (lecture et écriture)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'une colonne requise n'a pas été remplie dans un GridView et que l'utilisateur final tente de mettre à jour la ligne

  • Valeur par défaut : The {0} column is required.

  • Cette valeur doit contenir {0}; ce symbole contiendra le texte d'en-tête de colonne.

this.RequiredColumnsInGridViewsErrorMessage =
 Resources.Strings.RequiredColInGV;

string InvalidDateGridViewErrorMessage (lecture et écriture)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'une date ou un champ de date/heure dans un GridView n'a pas été rempli avec une valeur de date ou de date/heure valide

  • Valeur par défaut : You have entered an invalid date in the {0} column.

  • Cette valeur doit contenir {0}; ce symbole contiendra le nom du champ.

this.InvalidDateGridViewErrorMessage = Resources.Strings.InvalidDateGVErrMsg;

boolean ColorizeRequiredColumnsInGridViewHeader (lecture et écriture)

  • Si cette propriété est définie sur true, les en-têtes de colonne requis dans les GridViews auront leur propriété ForeColor affectée par la couleur RequiredFieldsBorderColor.

  • Valeur par défaut : false

  • Cette propriété doit être déterminée dans le constructeur du formulaire Web.

  • Cette propriété n'est disponible qu'en mode simple.

this.ColorizeRequiredColumnsInGridViewHeader = true;

string InvalidNumberErrorMessage (lecture et écriture)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'un champ numérique n'a pas été rempli avec une valeur numérique valide

  • Valeur par défaut : You have entered an invalid number in the {0} field.

  • Cette valeur doit contenir {0}; ce symbole contiendra le nom du champ.

this.InvalidNumberErrorMessage = Resources.Strings.InvalidNumberErrMsg;

string InvalidCurrencyErrorMessage (read and write)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'un champ numérique n'a pas été rempli avec une valeur de devise valide.

  • Valeur par défaut : You have entered an invalid number in the {0} field. Do not enter the currency symbol in the value.

  • Cette valeur doit contenir {0}; ce symbole contiendra le nom du champ.

this.InvalidCurrencyErrorMessage = Resources.Strings.InvalidCurrencyErrMsg;

string InvalidDateErrorMessage (lecture et écriture)

  • Le message d'erreur affiché à l'utilisateur final lorsqu'une date ou un champ de date/heure n'a pas été rempli avec une valeur de date ou de date/heure valide.

  • Valeur par défaut : You have entered an invalid date in the {0} field.

  • Cette valeur doit contenir {0}; ce symbole contiendra le nom du champ.

this.InvalidDateErrorMessage = Resources.Strings.InvalidDateErrMsg;

string ParamsXPath (lecture seule)

  • La valeur du paramètre ParamsXPath que vous avez passé dans l'action WorkflowGen.

  • Valeur par défaut : NewDataSet/Table1

boolean IsSessionLess (lecture et écriture)

  • Si cette propriété est définie sur true, le ViewState sera utilisé pour stocker tous les paramètres internes de WorkflowPage au lieu d'utiliser la Session.

  • Valeur par défaut : false

  • Cette propriété doit être déterminée dans le constructeur du formulaire Web.

this.IsSessionLess = true;

boolean SaveFormDataWithSchema (lecture et écriture)

  • Si cette propriété est définie sur false, le FormData sera enregistré sans son schéma.

  • Valeur par défaut : true

  • Cette propriété doit être déterminée dans le constructeur du formulaire Web.

this.SaveFormDataWithSchema = false;

boolean RemoveValidatorsInFormArchive (lecture et écriture)

  • Si cette propriété est définie sur true, tous les validateurs seront automatiquement masqués dans l'archive de formulaire.

  • Valeur par défaut : true

this.RemoveValidatorsInFormArchive = true;

boolean ValidateRequiredFields (lecture et écriture)

  • Si cette propriété est définie sur false, toutes les validations des champs obligatoires seront désactivées à l'exception des champs obligatoires dans les contrôles GridView.

  • Valeur par défaut : true

  • Cette propriété doit être modifiée avant l'événement OnLoadComplete de la page.

this.ValidateRequiredFields = false;

ViewState et Session

WorkflowPage utilise ViewState ou Session, selon la propriété IsSessionLess, pour stocker les paramètres EFORMASPX qu'il reçoit et pour stocker d'autres paramètres internes qu'il doit conserver, donc le ViewState ou la Session du formulaire Web ne doivent jamais être désactivés afin d'utiliser WorkflowPage.

Veillez à ne jamais utiliser les noms de variables ViewState ou Session suivants :

  • WFGEN_INSTANCE_PATH

  • WFGEN_STORAGE_PATH

  • WFGEN_REPLY_TO

  • WFGEN_CURRENT_ACTION

  • WFGEN_IS_STAND_ALONE

  • WFGEN_GRID_VIEW_INSERTING

  • WFGEN_GRID_VIEW_SHOW_CANCEL

  • WFGEN_PARAMS_XPATH

  • WFGEN_BACKUP_CONTROL_FORECOLOR

  • WFGEN_BACKUP_CONTROL_BORDERCOLOR

  • WFGEN_BACKUP_CONTROL_BACKCOLOR

  • WFGEN_BACKUP_CONTROL_BORDERWIDTH

  • WFGEN_BACKUP_CONTROL_CSSSTYLE

  • WFGEN_BACKUP_CONTROL_CSSCLASS

  • WFGEN_ALL_SIMPLE_MODE_TABLES

  • WFGEN_ALL_SUPPORTED_CONTROLS

  • WFGEN_USER_TZ

  • WFGEN_SIMPLE_MODE_DATASET_STRUCTURE

  • WFGEN_VALIDATE_REQUIRED_FIELDS

  • USER_LANG

Dernière mise à jour