LookupEntryCollection class
表示查閱表格的LookupEntry物件的集合。
Inheritance hierarchy
System.Object
Microsoft.SharePoint.Client.ClientObject
Microsoft.SharePoint.Client.ClientObjectCollection
Microsoft.SharePoint.Client.ClientObjectCollection<LookupEntry>
Microsoft.ProjectServer.Client.LookupEntryCollection
Namespace: Microsoft.ProjectServer.Client
Assembly: Microsoft.ProjectServer.Client (in Microsoft.ProjectServer.Client.dll)
Syntax
'宣告
<ScriptTypeAttribute("PS.LookupEntryCollection", ServerTypeId := "{55ea707e-5da5-4a2a-a30a-cbb44541ee69}")> _
Public Class LookupEntryCollection _
Inherits ClientObjectCollection(Of LookupEntry)
'用途
Dim instance As LookupEntryCollection
[ScriptTypeAttribute("PS.LookupEntryCollection", ServerTypeId = "{55ea707e-5da5-4a2a-a30a-cbb44541ee69}")]
public class LookupEntryCollection : ClientObjectCollection<LookupEntry>
Examples
下列程式碼範例是主控台應用程式,查詢中的Project Web App執行個體的查閱表格的集合,並顯示資訊的程式碼遮罩,指定的查閱資料表的項目。lut.Entries屬性是LookupEntryCollection物件。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Microsoft.ProjectServer.Client;
namespace ReadLookupTable
{
class Program
{
// Change the path for your Project Web App instance.
private const string PWA_PATH = "https://ServerName/pwa/";
private static string lutName = "Department"; // Default lookup table to read.
// Set the Project Server client context.
private static ProjectContext projContext;
static void Main(string[] args)
{
if (!ParseCommandLine(args))
{
Usage();
ExitApp();
}
projContext = new ProjectContext(PWA_PATH);
var projLutCollection = projContext.LoadQuery(
projContext.LookupTables
.Where(lut => lut.Name == lutName));
projContext.ExecuteQuery();
if (projLutCollection.Count() > 0)
{
foreach (LookupTable lut in projLutCollection)
{
Console.WriteLine("'{0}' lookup table Id: {1}", lut.Name, lut.Id);
Console.WriteLine("\tField type: {0}", lut.FieldType);
// Get the lookup table mask data:
Console.WriteLine("\nNumber of '{0}' lookup table masks: {1}\n", lut.Name, lut.Masks.Count());
foreach (LookupMask lutMask in lut.Masks)
{
Console.WriteLine("\tMaskType: {0}\tLength: {1}\tSeparator: {2}",
lutMask.MaskType, lutMask.Length, lutMask.Separator);
}
// Get the collection of lookup table entries.
projContext.Load(lut.Entries);
projContext.ExecuteQuery();
Console.WriteLine("\nNumber of '{0}' lookup table entries: {1}", lut.Name, lut.Entries.Count());
foreach (LookupEntry lutEntry in lut.Entries)
{
Console.WriteLine("\n\t{0}, SortIndex: {1}\n\tFullValue: {2}",
lutEntry.Id, lutEntry.SortIndex.ToString("F0"), lutEntry.FullValue);
}
}
}
else
{
Console.WriteLine("No lookup table named '{0}'", lutName);
}
ExitApp();
}
private static void ExitApp()
{
Console.Write("\nPress any key to exit... ");
Console.ReadKey(true);
Environment.Exit(0);
}
// Parse the command line. Return true if there are no errors.
private static bool ParseCommandLine(string[] args)
{
bool error = false;
int argsLen = args.Length;
try
{
for (int i = 0; i < argsLen; i++)
{
if (error) break;
if (args[i].StartsWith("-") || args[i].StartsWith("/"))
args[i] = "*" + args[i].Substring(1).ToLower();
switch (args[i])
{
case "*lookuptable":
case "*lut":
if (++i >= argsLen) return false;
lutName = args[i];
break;
case "*?":
default:
error = true;
break;
}
}
}
catch (FormatException)
{
error = true;
}
return !error;
}
private static void Usage()
{
string example = "Usage: ReadLookupTable [/lookuptable | /lut \"LookupTable Name\"";
example += "\n\nExample: ReadLookupTable /lut \"Department\"";
Console.WriteLine(example);
}
}
}
例如,假設部門查閱表格包含下列的程式碼遮罩及查閱表格值:
Sequence Length Separator
_______________________________________________
Characters Any .
Uppercase Letters 2 .
Level Value
______________________________
1 Test Dept 1
1 Test Dept 2
1 Test Dept C
2 CA
2 CB
下列是 (輸入項目的 Guid 就會不同) ReadLookupTable應用程式的輸出。
注意事項 |
---|
因為內建部門查閱表格,部門查閱表格的 GUID 是在所有的Project Web App執行個體相同的。GUID 是Microsoft.Office.Project.Server.Library.LookupTables.DEPARTMENTS_LT_UID欄位的值。 |
'Department' lookup table Id: e7397277-1ab0-4096-b2dd-57029a055ba4
Field type: TEXT
Number of 'Department' lookup table masks: 2
MaskType: CHARACTERS Length: 0 Separator: .
MaskType: UPPERCASE Length: 2 Separator: .
Number of 'Department' lookup table entries: 5
bbc07ff5-b06d-e211-93f4-0021704e28a0, SortIndex: 1
FullValue: Test Dept 1
bcc07ff5-b06d-e211-93f4-0021704e28a0, SortIndex: 2
FullValue: Test Dept 2
bdc07ff5-b06d-e211-93f4-0021704e28a0, SortIndex: 3
FullValue: Test Dept C
0a6ef8d8-6871-e211-93f4-0021704e28a0, SortIndex: 4
FullValue: Test Dept C.CA
0b6ef8d8-6871-e211-93f4-0021704e28a0, SortIndex: 5
FullValue: Test Dept C.CB
Press any key to exit...
Thread safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.