Class SectionQuestion
Abstract class that questions which needs postback handling of the answers and handling of multiple inner answer sections
Inheritance
Implements
Inherited Members
Namespace: Votations.NSurvey.WebControls.UI
Assembly: SurveyProject.WebControls.dll
Syntax
public abstract class SectionQuestion : ActiveQuestion, IComponent, IDisposable, IParserAccessor, IUrlResolutionService, IDataBindingsAccessor, IControlBuilderAccessor, IControlDesignerAccessor, IExpressionsAccessor, IAttributeAccessor, INamingContainer, IPostBackDataHandler
Properties
AddSectionLinkText
Text show to the user to add a new section
Declaration
public string AddSectionLinkText { get; set; }
Property Value
Type | Description |
---|---|
System.String |
CancelButtonText
Cancel button caption
Declaration
public string CancelButtonText { get; set; }
Property Value
Type | Description |
---|---|
System.String |
DeleteSectionLinkText
Text show to the user to delete a section
Declaration
public string DeleteSectionLinkText { get; set; }
Property Value
Type | Description |
---|---|
System.String |
EditSectionLinkText
Text show to the user to edit a section in the grid
Declaration
public string EditSectionLinkText { get; set; }
Property Value
Type | Description |
---|---|
System.String |
EnableGridSectionClientSideValidation
Enable client side validation of grid answer section items
Declaration
public bool EnableGridSectionClientSideValidation { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
EnableGridSectionServerSideValidation
Enable server side validation of grid answer section items
Declaration
public bool EnableGridSectionServerSideValidation { get; set; }
Property Value
Type | Description |
---|---|
System.Boolean |
GridAnswers
Answers that will be shown in the section's grid overview
Declaration
public int[] GridAnswers { get; set; }
Property Value
Type | Description |
---|---|
System.Int32[] |
GridMode
In which state is the current grid
Declaration
protected SectionGridMode GridMode { get; set; }
Property Value
Type | Description |
---|---|
SectionGridMode |
MaxSections
how many section is the user allowed to create in this question
Declaration
public int MaxSections { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
RepeatMode
How the user can create sections
Declaration
public RepeatableSectionMode RepeatMode { get; set; }
Property Value
Type | Description |
---|---|
RepeatableSectionMode |
SectionCount
Number of sections owned by this question
Declaration
public int SectionCount { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
SectionGridAnswersAlternatingItemStyle
Sets the style for the section's answer grid overview items
Declaration
[PersistenceMode(PersistenceMode.InnerProperty)]
public Style SectionGridAnswersAlternatingItemStyle { get; set; }
Property Value
Type | Description |
---|---|
System.Web.UI.WebControls.Style |
SectionGridAnswersHeaderStyle
Sets the style for the section's answer grid header
Declaration
[PersistenceMode(PersistenceMode.InnerProperty)]
public Style SectionGridAnswersHeaderStyle { get; set; }
Property Value
Type | Description |
---|---|
System.Web.UI.WebControls.Style |
SectionGridAnswersItemStyle
Sets the style for the section's answer grid overview items
Declaration
[PersistenceMode(PersistenceMode.InnerProperty)]
public Style SectionGridAnswersItemStyle { get; set; }
Property Value
Type | Description |
---|---|
System.Web.UI.WebControls.Style |
SectionGridAnswersStyle
Sets the style for the section's answer grid table
Declaration
[PersistenceMode(PersistenceMode.InnerProperty)]
public Style SectionGridAnswersStyle { get; set; }
Property Value
Type | Description |
---|---|
System.Web.UI.WebControls.Style |
SectionOptionStyle
Style for the section's option row
Declaration
public Style SectionOptionStyle { get; set; }
Property Value
Type | Description |
---|---|
System.Web.UI.WebControls.Style |
SectionPanel
Contains all sections and section options
Declaration
protected Panel SectionPanel { get; set; }
Property Value
Type | Description |
---|---|
System.Web.UI.WebControls.Panel |
SectionUids
Section Uids must be stored between postbacks to make sure that the section control gets the correct uid back
Declaration
protected ArrayList SectionUids { get; set; }
Property Value
Type | Description |
---|---|
System.Collections.ArrayList |
TargetSection
To which section are the new answer in the grid be assigned
Declaration
public int TargetSection { get; set; }
Property Value
Type | Description |
---|---|
System.Int32 |
UpdateSectionLinkText
Text show to the user to edit a section in the grid
Declaration
public string UpdateSectionLinkText { get; set; }
Property Value
Type | Description |
---|---|
System.String |
Methods
AddSection(Int32, Int32)
Adds a new section using the provided section Uid
Declaration
protected virtual void AddSection(int sectionNumber, int sectionUid)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | sectionNumber | |
System.Int32 | sectionUid |
AddSectionButton_Click(Object, CommandEventArgs)
Adds / inserts a new full answer section
Declaration
protected virtual void AddSectionButton_Click(object sender, CommandEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | |
System.Web.UI.WebControls.CommandEventArgs | e |
AnswersGrid_AddSection(Object, SectionAnswersItemEventArgs)
A new section has been requested on the grid. Show a "new section" area
Declaration
protected virtual void AnswersGrid_AddSection(object sender, SectionAnswersItemEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | |
SectionAnswersItemEventArgs | e |
AnswersGrid_DeleteSection(Object, SectionAnswersItemEventArgs)
A section has been removed on the grid. Update the target section number if any was setup or show a "new section" area if the last section has been removed on the grid
Declaration
protected virtual void AnswersGrid_DeleteSection(object sender, SectionAnswersItemEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | |
SectionAnswersItemEventArgs | e |
AnswersGrid_EditSection(Object, SectionAnswersItemEventArgs)
A new section has been requested for edit Show a "new section" area with the section's answers
Declaration
protected virtual void AnswersGrid_EditSection(object sender, SectionAnswersItemEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | |
SectionAnswersItemEventArgs | e |
BuildMultipleSections()
Creates the section's container
Declaration
protected virtual void BuildMultipleSections()
BuildQuestion()
Build the question layout with its child controls
Declaration
protected virtual void BuildQuestion()
CreateChildControls()
Compose all answer sections into a question
Declaration
protected override void CreateChildControls()
Overrides
CreateSection(Int32, Int32)
Must return a new section populated with its answers or child questions
Declaration
protected abstract Section CreateSection(int sectionNumber, int sectionGuid)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | sectionNumber | |
System.Int32 | sectionGuid |
Returns
Type | Description |
---|---|
Section |
DeleteSectionAnswers(Int32, PostedAnswerDataCollection)
Removes all answers related to the target section number
Declaration
protected void DeleteSectionAnswers(int targetSection, PostedAnswerDataCollection answers)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | targetSection | |
PostedAnswerDataCollection | answers |
GetGridVoterAnswers()
Parse the answer state and returns the answers of this question
Declaration
protected virtual GridAnswerDataCollection GetGridVoterAnswers()
Returns
Type | Description |
---|---|
GridAnswerDataCollection |
GetSectionAnswersGrid()
Must return a valid grid that will be use in grid section mode. Null can be returned if no grid can be generated
Declaration
protected abstract SectionAnswersGridItem GetSectionAnswersGrid()
Returns
Type | Description |
---|---|
SectionAnswersGridItem |
GetSectionCountFromAnswers(PostedAnswerDataCollection)
Returns the section based count on the current posted answer's data, doesnt include the count of any "add new section" only counted are the section already posted, validated and stored in the grid
Declaration
public int GetSectionCountFromAnswers(PostedAnswerDataCollection postedAnswers)
Parameters
Type | Name | Description |
---|---|---|
PostedAnswerDataCollection | postedAnswers |
Returns
Type | Description |
---|---|
System.Int32 |
GetSectionCountFromState()
Must returns the number of sections that must be restored for this question, should be based on the current answerstate
Declaration
protected abstract int GetSectionCountFromState()
Returns
Type | Description |
---|---|
System.Int32 |
GetSectionOptions(Int32, Int32)
Builds a section option table for the given section number
Declaration
protected virtual Panel GetSectionOptions(int sectionNumber, int sectionUid)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | sectionNumber | |
System.Int32 | sectionUid |
Returns
Type | Description |
---|---|
System.Web.UI.WebControls.Panel |
GetSectionUid(Int32)
Returns the exsiting Uid of the section if it doesnt exists creates a random UId and store it in the viewstate collection for futur postbacks
Declaration
protected virtual int GetSectionUid(int sectionNumber)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | sectionNumber |
Returns
Type | Description |
---|---|
System.Int32 |
InsertSection(Int32)
Inserts a new section at the given section number
Declaration
protected virtual void InsertSection(int sectionNumber)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | sectionNumber |
OrderTargetSectionAnswers(Int32, PostedAnswerDataCollection)
Reorder the posted section in the correct order based on the target section's new section number new section answers are marked with a -1 sectionnumber
Declaration
protected void OrderTargetSectionAnswers(int targetSection, PostedAnswerDataCollection answers)
Parameters
Type | Name | Description |
---|---|---|
System.Int32 | targetSection | |
PostedAnswerDataCollection | answers |
PostedAnswersHandler(PostedAnswerDataCollection)
Handles posted answers and make sure to post answers if there aren't any in the section or delete all unvalidated answers if answers exist in the section
Declaration
protected override void PostedAnswersHandler(PostedAnswerDataCollection answers)
Parameters
Type | Name | Description |
---|---|---|
PostedAnswerDataCollection | answers |
Overrides
RemoveSectionButton_Command(Object, CommandEventArgs)
Deletes a section from the question
Declaration
protected virtual void RemoveSectionButton_Command(object sender, CommandEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | |
System.Web.UI.WebControls.CommandEventArgs | e |
Section_ClientScriptGenerated(Object, QuestionItemClientScriptEventArgs)
Notify subscriber that a script has been generated for the given section
Declaration
protected void Section_ClientScriptGenerated(object sender, QuestionItemClientScriptEventArgs e)
Parameters
Type | Name | Description |
---|---|---|
System.Object | sender | |
QuestionItemClientScriptEventArgs | e |