Toggle menu
915
3.8K
30.2K
279.2K
Catglobe Wiki
Toggle preferences menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

QcsQuestionColumn class: Difference between revisions

From Catglobe Wiki
Hovietluu (talk | contribs)
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=number|Name=AnswerOptionIndex|HasGetter=1|Description=Get which answer option is used for this column. -1 if not from answer option.}}
{{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=number|Name=QuestionnaireResourceId|HasGetter=1|Description=Get the questionnaire used for getting data for this column.}}
{{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=number|Name=SubQuestionIndex|HasGetter=1|Description=Get which sub question is used for this column. -1 if not from subquestion.}}
{{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);