Difference between revisions of "QcsQuestionColumn class"

From Catglobe Wiki
Jump to: navigation, search
(Created page with "{{CGscriptClass_Template |Name=QcsQuestionColumn |Description=Represents a data cache specification column with data from collected questions. |Methods= {{CGscriptMethods_Temp...")
 
 
(4 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>
|Methods=
+
|InheritsFrom=QcsColumn|Methods=
{{CGscriptMethods_Template|ReturnType=Empty|Name=Delete|Description=Remove column from the dcs}}
+
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>ChangeDcs</nowiki>|Inherited=QcsColumn|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>|Inherited=QcsColumn|Description=<nowiki>Remove column from the dcs</nowiki>}}
 +
{{CGscriptMethods_Template|ReturnType=Empty|Name=<nowiki>Save</nowiki>|Inherited=QcsColumn|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>|Inherited=object|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|Inherited=QcsColumn|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|Inherited=QcsColumn|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|Inherited=QcsColumn|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=string|Name=<nowiki>Name</nowiki>|HasGetter=1|HasSetter=1|Inherited=QcsColumn|Description=<nowiki>Get/set the name of the column</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=ObjectTypeName|HasGetter=1|Description=The name of the type of object.}}
+
{{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=OpenPart|HasGetter=1|Description=Get if this column is the open part of the question.}}
+
{{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=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>PresentAsText</nowiki>|HasGetter=1|HasSetter=1|Inherited=QcsColumn|Description=<nowiki>Get/set if Show the data column as the option text</nowiki>}}
{{CGscriptProperties_Template|ReturnType=string|Name=QuestionLabel|HasGetter=1|Description=Get the questionlabel 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=QuestionnaireResourceId|HasGetter=1|Description=Get the questionnaire used for getting data for this column.}}
+
{{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=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>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=TypeInformation|HasGetter=1|Description=Get information about this class.}}
+
{{CGscriptProperties_Template|ReturnType=TypeInformation|Name=<nowiki>TypeInformation</nowiki>|HasGetter=1|Inherited=object|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:05, 2 July 2020

QcsQuestionColumn


Represents a data cache specification column with data from collected questions.

Parent class

Inherits from QcsColumn

Methods

  • (From QcsColumn) Empty ChangeDcs(DataCacheSpecification dcs "New DCS to put the column in") - Change column to belong to another DCS. The origin DCS is not altered
  • (From QcsColumn) Empty Delete() - Remove column from the dcs
  • (From QcsColumn) Empty Save() - Add a new column to the dcs. Naming conflicts are automatically resolved. Notice the dcs itself also needs to be saved
  • (From object) 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.
  • (From QcsColumn) string CgScript { get; set; } - Get/set the cgscript for the column
  • (From QcsColumn) string ColumnType { get; } - Get the source type of the column data
  • (From QcsColumn) string DataType { get; } - Get the data type of the column
  • (From QcsColumn) 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.
  • (From QcsColumn) 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.
  • (From object) 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);