| IQMSGetFieldContentList Method |
Namespace: PIX.Services.V12
List<FieldContent> GetFieldContentList( QDSDocumentSession session, string forFieldName, FieldContentType fieldContentType, int index, int length )
Requires membership of local group QlikView Management API and the role Document Folder Administrator. |
The service key injection is assumed to be handled behind the scenes. For an example of how to inject the service key, see Samples.
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(); } }