AddSelections Method
Overloads
AddSelections(QDSDocumentSession, List<FieldContent>, Boolean, Boolean, Boolean) |
Adds or toggles the currently selected fields within a document. |
AddSelections(QDSDocumentSession, List<FieldContent>, Boolean, Boolean, Boolean)
Adds or toggles the currently selected fields within a document.
Declaration
List<FieldContent> AddSelections(QDSDocumentSession session, List<FieldContent> fieldContents, bool lockSelection, bool toggleSelect, bool returnSelectedList)
Parameters
Type | Name | Description |
---|---|---|
QDSDocumentSession | session |
The session to be used. |
System.Collections.Generic.List<FieldContent> | fieldContents |
The selected fields to add or toggle |
System.Boolean | lockSelection |
Set this to true if you want to lock the selected fields. |
System.Boolean | toggleSelect |
If set to true, toggles to selected fields, otherwise sets them to be selected in the document. |
System.Boolean | returnSelectedList |
Set to true if a list of currently selected fields should be returned. |
Returns
Type | Description |
---|---|
System.Collections.Generic.List<FieldContent> |
A list of selected fields. |
Remarks
security
Requires membership of local group QlikView Management API and the role Document Folder Administrator.
Examples
This example assumes that the document used contains a Quarter field which is related to a Month field. It retrieves all the values from the Quarter field and adds a new selection using the first value. Next it retrieves the values from the Month field and prints them to the console. Here it is possible to see which of the months that were selected or excluded after the quarter selection.
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 System.Threading;
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<FieldContent> fieldContentList = apiClient.GetFieldContentList(documentSession, "Quarter", FieldContentType.All, 0, 4);
FieldContent firstField = fieldContentList.FirstOrDefault();
if(firstField != null)
{
//Remove all fields but the first one and add it as a selection.
firstField.Values.RemoveRange(1, firstField.Values.Count - 1);
apiClient.AddSelections(documentSession, new List<FieldContent>(){firstField}, false, false, true );
//Retrieve all the contents of the Month field.
FieldContent monthField = apiClient.GetFieldContentList(documentSession, "Month", FieldContentType.All, 0, 12).FirstOrDefault();
if (monthField != null) {
Console.WriteLine(monthField.Name);
//Print all the values for the month field.
foreach(FieldValue fv in monthField.Values )
{
Console.WriteLine(string.Format("{0} {1}", fv.IsNumeric ? fv.Number.ToString() : fv.Text, fv.State ));
}
}
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();
}
}
Did this page help you?
If you find any issues with this page or its content – a typo, a missing step, or a technical error – let us know how we can improve!