QcsQuestionColumn class: Difference between revisions
From Catglobe Wiki
More actions
Created page with "{{CGscriptClass_Template |Name=QcsQuestionColumn |Description=Represents a data cache specification column with data from collected questions. |Methods= {{CGscriptMethods_Temp..." Â |
Nguyenduyan (talk | contribs) No edit summary  |
||
| (5 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
{{CGscriptClass_Template | {{CGscriptClass_Template | ||
|Name=QcsQuestionColumn | |Name=<nowiki>QcsQuestionColumn</nowiki> | ||
|Description=Represents a data cache specification column with data from collected questions. | |Description=<nowiki>Represents a data cache specification column with data from collected questions.</nowiki> | ||
|InheritsFrom=QcsColumn|Constructors= | |||
{{CGscriptConstructors_Template|Parameters= | |||
{{CGscriptParameters_Template|Type=string|Name=<nowiki>questionLabel</nowiki>|Description=<nowiki>Set column name.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=int|Name=<nowiki>questionnaireResourceId</nowiki>|Description=<nowiki>Set the associated questionnaire. Set to 0 to use primary questionnaire</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>Dcs the column should belong to</nowiki>}} | |||
|Description=<nowiki>Create a new column.</nowiki>}} | |||
{{CGscriptConstructors_Template|Parameters= | |||
{{CGscriptParameters_Template|Type=string|Name=<nowiki>questionLabel</nowiki>|Description=<nowiki>Set column name.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=int|Name=<nowiki>questionnaireResourceId</nowiki>|Description=<nowiki>Set the associated questionnaire. Set to 0 to use primary questionnaire</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=string|Name=<nowiki>name</nowiki>|Description=<nowiki>Set the name of the column in the dcs.</nowiki>|Comma=,}}{{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>Dcs the column should belong to</nowiki>}} | |||
|Description=<nowiki>Create a new column with an explicit name.</nowiki>}} | |||
|Methods= | |Methods= | ||
{{CGscriptMethods_Template|ReturnType=Empty|Name=Delete|Description=Remove column from the dcs}} | {{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>ChangeDcs</nowiki>|Parameters= | ||
{{CGscriptMethods_Template|ReturnType=Empty|Name=Save|Description=Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved}} | {{CGscriptParameters_Template|Type=DataCacheSpecification|Name=<nowiki>dcs</nowiki>|Description=<nowiki>New DCS to put the column in</nowiki>}} | ||
{{CGscriptMethods_Template|ReturnType=string|Name=ToString|Description=The string representation of the object.}} | |Description=<nowiki>Change column to belong to another DCS. The origin DCS is not altered</nowiki>}} | ||
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Delete</nowiki>|Description=<nowiki>Remove column from the dcs</nowiki>}} | |||
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Save</nowiki>|Description=<nowiki>Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved</nowiki>}} | |||
{{CGscriptMethods_Template|ReturnType=string|Name=<nowiki>ToString</nowiki>|Description=<nowiki>The string representation of the object.</nowiki>}} | |||
|Properties= | |Properties= | ||
{{CGscriptProperties_Template|ReturnType= | {{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>AnswerOptionIndex</nowiki>|HasGetter=1|Description=<nowiki>Get which answer option is used for this column. -1 if not from answer option.</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=string|Name=CgScript|HasGetter=1|HasSetter=1|Description=Get/set the cgscript for the column}} | {{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>CgScript</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Get/set the cgscript for the column</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=string|Name=ColumnType|HasGetter=1|Description=Get the source type of the column data}} | {{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ColumnType</nowiki>|HasGetter=1|Description=<nowiki>Get the source type of the column data</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=string|Name=DataType|HasGetter=1|Description=Get the data type of the column}} | {{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>DataType</nowiki>|HasGetter=1|Description=<nowiki>Get the data type of the column</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=string|Name=Name|HasGetter=1|HasSetter=1|Description=Get/set the name of the column}} | {{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>IsPii</nowiki>|HasGetter=1|Description=<nowiki>Whether the column is classified as PII</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=string|Name=ObjectTypeName|HasGetter=1|Description=The name of the type of object.}} | {{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>Name</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Get/set the name of the column</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=bool|Name=OpenPart|HasGetter=1|Description=Get if this column is the open part of the question.}} | {{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>ObjectTypeName</nowiki>|HasGetter=1|Description=<nowiki>The name of the type of object.</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=bool|Name=PresentAsText|HasGetter=1|HasSetter=1|Description=Get/set if Show the data column as the option text}} | {{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>OpenPart</nowiki>|HasGetter=1|Description=<nowiki>Get if this column is the open part of the question.</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=string|Name=QuestionLabel|HasGetter=1|Description=Get the questionlabel used for getting data for this column.}} | {{CGscriptProperties_Template|ReturnType=bool|Name=<nowiki>PresentAsText</nowiki>|HasGetter=1|HasSetter=1|Description=<nowiki>Get/set if Show the data column as the option text</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType= | {{CGscriptProperties_Template|ReturnType=string|Name=<nowiki>QuestionLabel</nowiki>|HasGetter=1|Description=<nowiki>Get the questionlabel used for getting data for this column.</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType= | {{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>QuestionnaireResourceId</nowiki>|HasGetter=1|Description=<nowiki>Get the questionnaire used for getting data for this column.</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=TypeInformation|HasGetter=1|Description=Get information about this class.}} | {{CGscriptProperties_Template|ReturnType=int|Name=<nowiki>SubQuestionIndex</nowiki>|HasGetter=1|Description=<nowiki>Get which sub question is used for this column. -1 if not from subquestion.</nowiki>}} | ||
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=<nowiki>TypeInformation</nowiki>|HasGetter=1|Description=<nowiki>Get information about this class.</nowiki>}} | |||
}} | }} | ||
=== '''Examples''' === | |||
'''Ex: Create question columns for Primary qnaire''' | |||
<source lang="javascript"> | |||
DataCacheSpecification dcs = new DataCacheSpecification(15517146); | |||
array aQcsQuestionColumns = dcs.CreateAllColumnsForQuestion("Q1",0); //Create new column(s) for a question and use primary questionnaire | |||
for(number i= 0; i < aQcsQuestionColumns.Count; i++){ | |||
aQcsQuestionColumns[i].Save(); | |||
} | |||
dcs.Save(); //Must save to make the above statements applied on DCS, but this statement does not REBUILD the DCS | |||
print(dcs.ColumnNames); | |||
</source> | |||
'''Ex: Copy all question columns from DCS A to DCS B''' | |||
<source lang="javascript"> | |||
// Copy all question columns from DCS A to DCS B | |||
number dcsARId = 15645155; | |||
number dcsBRId = 15645157; | |||
number qnaireARId = 15645137; | |||
DataCacheSpecification dcsA = new DataCacheSpecification(dcsARId); | |||
DataCacheSpecification dcsB = new DataCacheSpecification(dcsBRId); | |||
dcsB.Reset(); | |||
dcsB.ClearSecondaryQuestionnaireJoinType(); | |||
dcsB.SetSecondaryQuestionnaireJoinType (qnaireARId,"CompanyNumber","CompanyNumber"); | |||
array arrayQuestionColumns = dcsA.CreateAllColumnsForAllQuestions(0); | |||
for(number i = 0; i<arrayQuestionColumns.Count; i++) | |||
{ | |||
QcsQuestionColumn questionColumn = arrayQuestionColumns[i]; | |||
questionColumn.ChangeDcs(dcsB); | |||
questionColumn.Save(); | |||
} | |||
dcsB.Save(); | |||
dcsB.Rebuild(true,true,0); | |||
</source> | |||
Latest revision as of 06:36, 20 September 2026
QcsQuestionColumn
Represents a data cache specification column with data from collected questions.
Parent class
Inherits from QcsColumn
Constructors
- (string questionLabel "Set column name.", int questionnaireResourceId "Set the associated questionnaire. Set to 0 to use primary questionnaire", DataCacheSpecification dcs "Dcs the column should belong to") - Create a new column.
- (string questionLabel "Set column name.", int questionnaireResourceId "Set the associated questionnaire. Set to 0 to use primary questionnaire", string name "Set the name of the column in the dcs.", DataCacheSpecification dcs "Dcs the column should belong to") - Create a new column with an explicit name.
Methods
- Empty ChangeDcs(DataCacheSpecification dcs "New DCS to put the column in") - Change column to belong to another DCS. The origin DCS is not altered
- Empty Delete() - Remove column from the dcs
- Empty Save() - Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved
- string ToString() - The string representation of the object.
Properties
- int AnswerOptionIndex { get; } - Get which answer option is used for this column. -1 if not from answer option.
- string CgScript { get; set; } - Get/set the cgscript for the column
- string ColumnType { get; } - Get the source type of the column data
- string DataType { get; } - Get the data type of the column
- bool IsPii { get; } - Whether the column is classified as PII
- string Name { get; set; } - Get/set the name of the column
- string ObjectTypeName { get; } - The name of the type of object.
- bool OpenPart { get; } - Get if this column is the open part of the question.
- bool PresentAsText { get; set; } - Get/set if Show the data column as the option text
- string QuestionLabel { get; } - Get the questionlabel used for getting data for this column.
- int QuestionnaireResourceId { get; } - Get the questionnaire used for getting data for this column.
- int SubQuestionIndex { get; } - Get which sub question is used for this column. -1 if not from subquestion.
- TypeInformation TypeInformation { get; } - Get information about this class.
Examples
Ex: Create question columns for Primary qnaire
DataCacheSpecification dcs = new DataCacheSpecification(15517146);
array aQcsQuestionColumns = dcs.CreateAllColumnsForQuestion("Q1",0); //Create new column(s) for a question and use primary questionnaire
for(number i= 0; i < aQcsQuestionColumns.Count; i++){
aQcsQuestionColumns[i].Save();
}
dcs.Save(); //Must save to make the above statements applied on DCS, but this statement does not REBUILD the DCS
print(dcs.ColumnNames);
Ex: Copy all question columns from DCS A to DCS B
// Copy all question columns from DCS A to DCS B
number dcsARId = 15645155;
number dcsBRId = 15645157;
number qnaireARId = 15645137;
DataCacheSpecification dcsA = new DataCacheSpecification(dcsARId);
DataCacheSpecification dcsB = new DataCacheSpecification(dcsBRId);
dcsB.Reset();
dcsB.ClearSecondaryQuestionnaireJoinType();
dcsB.SetSecondaryQuestionnaireJoinType (qnaireARId,"CompanyNumber","CompanyNumber");
array arrayQuestionColumns = dcsA.CreateAllColumnsForAllQuestions(0);
for(number i = 0; i<arrayQuestionColumns.Count; i++)
{
QcsQuestionColumn questionColumn = arrayQuestionColumns[i];
questionColumn.ChangeDcs(dcsB);
questionColumn.Save();
}
dcsB.Save();
dcsB.Rebuild(true,true,0);