Référence de classe WorkflowPage
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.
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);
// ...
}
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);
}
// ...
}
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);
// ...
}
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
saveFieldValues
sur 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.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();
// ...
}
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);
// ...
}
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);
// ...
}
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);
// ...
}
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);
// ...
}
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");
// ...
}
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();
}
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();
}
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")
{
// ...
}
}
- 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")
{
// ...
}
- 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 ...
}
- 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);
- 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;
- Le nom du fichier d'archive du formulaire
- Valeur par défaut :
form_archive.htm
this.FormArchiveFileName = "my_form_archive.htm";
- Le chemin d'accès relatif à la feuille de style de l'archive de formulaire
- Valeur par défaut :
\css\form_archive.css
- 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;
- 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;
- 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;
- 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();
}
- 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;
- 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 surtrue
, 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;
- 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();
- 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;
- 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;
- 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;
- 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;
- 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;
- 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 couleurRequiredFieldsBorderColor
. - 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;
- 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;
- 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;
- 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;
- La valeur du paramètre
ParamsXPath
que vous avez passé dans l'action WorkflowGen. - Valeur par défaut :
NewDataSet/Table1
- 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;
- 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;
- 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;
- 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;
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 2yr ago