Click or drag to resize
IQMSGetFieldContentList Method
Retrieves the values for a specific field. It is possible to retrieve only the currently selected values or all values for the field.

Namespace: PIX.Services.V12
Assembly: 
Syntax
List<FieldContent> GetFieldContentList(
	QDSDocumentSession session,
	string forFieldName,
	FieldContentType fieldContentType,
	int index,
	int length
)

Parameters

session
Type: PIX.QMSAPI.DataObjectsQDSDocumentSession
The session to be used.
forFieldName
Type: SystemString
The name of the field
fieldContentType
Type: PIX.QMSAPI.DataObjects.EnumsFieldContentType
The type of values to return, either all or currently selected.
index
Type: SystemInt32
The index of the first value to return.
length
Type: SystemInt32
The maximum number of values to return.

Return Value

Type: ListFieldContent
A list of field values.
Remarks
Security note Security Note

Requires membership of local group QlikView Management API and the role Document Folder Administrator.

Examples
This example retrieves values for all the fields and prints them to the console.

The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.

C#
 using System;
 using System.Collections.Generic;
 using System.Linq;
 using QMSAPI;

class Program
{
     static void Main(string[] args)
     {
         try
         {
             // create a QMS API client
             IQMS apiClient = new QMSClient();

             //retrieve a time limited service key
             ServiceKeyClientMessageInspector.ServiceKey = apiClient.GetTimeLimitedServiceKey();

             ServiceInfo serviceInfo = apiClient.GetServices(ServiceTypes.QlikViewDistributionService).FirstOrDefault();
             if (serviceInfo != null)
             {
                 QDSDocumentSessionConfiguration sessionConfig = new QDSDocumentSessionConfiguration();

                 sessionConfig.QDSID = serviceInfo.ID;
                 sessionConfig.FilePath = @"C:\ProgramData\QlikTech\SourceDocuments\Sales.qvw";

                 QDSDocumentSession documentSession = apiClient.CreateSession(sessionConfig);

                 if (documentSession != null && documentSession.OpenDocumentResult == DocumentState.OpenedSuccessfully)
                 {
                     List<Field> fields = apiClient.GetFieldList(documentSession);
                     foreach(Field f in fields)
                     {
                         List<FieldContent> fieldContent = apiClient.GetFieldContentList(documentSession, f.Name, FieldContentType.All, 0, 5);
                         foreach(FieldContent fc in fieldContent)
                         {
                             Console.WriteLine("\nName: " + fc.Name);
                             Console.WriteLine("Values: " + fc.Name);
                             fc.Values.ForEach(v=>Console.WriteLine(v.IsNumeric ? v.Number.ToString() : v.Text));
                         }
                     }

                     apiClient.CloseSession(documentSession);
                 }
                 else
                 {
                     Console.WriteLine("Failed to open the document.");
                 }
             }
         }
         catch (Exception ex)
         {
             Console.WriteLine("An exception occurred: " + ex.Message);
         }
         // wait for user to press any key
         Console.ReadLine();
     }
 }
See Also