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

QcsQuestionColumn class

From Catglobe Wiki

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);