LookupTable.UpdateLookupTables メソッド
作成、変更、またはユーザー設定フィールドの参照テーブル内のデータを削除します。UpdateLookupTablesLookupTableDataSet新しいルックアップ テーブルが含まれています、既存の参照テーブルを変更して、 LookupTableDataSetではない参照テーブルを削除する場合の参照テーブルおよび対応するコード マスクを作成します。
名前空間: WebSvcLookupTable
アセンブリ: ProjectServerServices (ProjectServerServices.dll 内)
構文
'宣言
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/LookupTable/UpdateLookupTables", RequestNamespace := "https://schemas.microsoft.com/office/project/server/webservices/LookupTable/", _
ResponseNamespace := "https://schemas.microsoft.com/office/project/server/webservices/LookupTable/", _
Use := SoapBindingUse.Literal, ParameterStyle := SoapParameterStyle.Wrapped)> _
Public Sub UpdateLookupTables ( _
ltds As LookupTableDataSet, _
validateOnly As Boolean, _
autoCheckIn As Boolean, _
language As Integer _
)
'使用
Dim instance As LookupTable
Dim ltds As LookupTableDataSet
Dim validateOnly As Boolean
Dim autoCheckIn As Boolean
Dim language As Integer
instance.UpdateLookupTables(ltds, validateOnly, _
autoCheckIn, language)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/LookupTable/UpdateLookupTables", RequestNamespace = "https://schemas.microsoft.com/office/project/server/webservices/LookupTable/",
ResponseNamespace = "https://schemas.microsoft.com/office/project/server/webservices/LookupTable/",
Use = SoapBindingUse.Literal, ParameterStyle = SoapParameterStyle.Wrapped)]
public void UpdateLookupTables(
LookupTableDataSet ltds,
bool validateOnly,
bool autoCheckIn,
int language
)
パラメーター
ltds
型: WebSvcLookupTable.LookupTableDataSetLookupTableDataSetデータ テーブル内のデータを使用します。
validateOnly
型: System.Booleanのみ検証、更新しないでください。
autoCheckIn
型: System.Boolean場合はtrueを更新した後でチェックします。
language
型: System.Int32ロケール ID (LCID)。
注釈
UpdateLookupTablesは、既存の参照テーブル内のデータを更新します。作成または参照テーブルを削除するには、 CreateLookupTablesとDeleteLookupTablesも使用できます。
参照テーブルの値を削除するには、まずReadLookupTablesByUidsメソッドを使用してください完全なLookupTableDataSetを取得し、行の削除をマークする、 LookupTableDataSet.LookupTableTrees.Rows[index].Deleteメソッドを使用しています。使用例」を参照してください。
1 つまたは複数の参照テーブルを更新するには、ルックアップ テーブルごとに、必要なすべてのテーブルのデータを取得するReadLookupTablesByUidsを使用して、ファイルを変更して、返されたLookupTableDataSetUpdateLookupTablesでは、 ltdsパラメーターを使用するには
ReadLookupTablesは、 xmlFilterパラメーターをnull 参照 (Visual Basic のNothing )にも使用できます。次の例ではlookupTableは、 LookupTableWebService.LookupTableクラスのインスタンスとlookupTableDataSetは、 LookupTableDataSetのインスタンスです。
bool autoCheckOut = false;
string xmlFilter = null;
int language = 0;
lookupDataSet = lookupTable.ReadLookupTables(xmlFilter, autoCheckOut, language);
// Add, delete, or modify lookup table rows
bool validateOnly = false;
autoCheckOut = true;
lookupTable.UpdateLookupTables(lookupTableDataSet, validateOnly, autoCheckOut, language);
// Call lookupTable.CheckInLookupTables
注意
ReadLookupTablesを使用するし、 xmlfilterの値を指定する可能性があります取得できませんのすべてのテーブルの更新に必要です。その場合は、 UpdateLookupTablesは一般的な未処理の例外になります。
注意
PSI を使用して数値参照テーブルを作成または更新する場合、小数点以下が 2 桁を超える値を追加しないでください。
UpdateLookupTablesメソッドでは、2 つ以上の小数点以下の桁数を持つ数値を保存することができます。番号のルックアップ テーブルを使用するカスタム フィールドを作成するときにProject Professional 2010数値ユーザー設定フィールドに 2 つの小数点以下の桁数で四捨五入し、値を選択」ドロップ ダウン リストの文字列として表示します。値を選択するとProject Professional 2010数値に文字列を変換します。プロセスはのみ 2 桁の数値が存在しないため、エラーを示します。
プロジェクト サーバーのアクセス許可
権限 |
説明 |
---|---|
エンタープライズ ユーザー設定フィールドと参照テーブル値の定義を変更することができます。グローバル アクセス権。 |
例
次の使用例は、指定された参照テーブルを読み取り、テーブル内の指定した行を削除.DeleteLookupTableRowのサンプル メソッドのlookupTableパラメーターは、有効なUrlおよびCredentialsプロパティを使用して、 LookupTableオブジェクトです。言語パラメーターが整数の LCID です。たとえば、1033年は英語 (米国) です。LookupTableWebSvcは、LookupTable.asmx の Web サービスには、任意の参照名です。詳細については、サンプル コードを使用して、 Project 2013 での ASMX ベースのコード サンプルの前提条件を参照してください。
public string DeleteLookupTableRow(SvcLookupTable.LookupTable lookupTable,
Guid lutGuid, int row, int language)
{
string result = "";
string fmtResult = "Lookup table: {0}. ";
string tableName = "[unknown]";
string rowName = "";
SvcLookupTable.LookupTableDataSet lutDs = new SvcLookupTable.LookupTableDataSet();
Guid[] lutList = new Guid[] { lutGuid };
bool autoCheckOut = false;
lutDs = lookupTable.ReadLookupTablesByUids(lutList, autoCheckOut, language);
int numRows = lutDs.LookupTableTrees.Rows.Count;
foreach (DataRow lutRow in lutDs.LookupTables)
{
if ((Guid)lutRow[lutDs.LookupTables.LT_UIDColumn] == lutGuid)
{
tableName = (string)lutRow[lutDs.LookupTables.LT_NAMEColumn];
break;
}
}
if (row < numRows)
{
rowName = lutDs.LookupTableTrees[row].LT_VALUE_TEXT;
lutDs.LookupTableTrees.Rows[row].Delete();
lookupTable.CheckOutLookupTables(lutList);
bool validateOnly = false;
lookupTable.UpdateLookupTables(lutDs, validateOnly, autoCheckOut, language);
bool forceCheckIn = false;
lookupTable.CheckInLookupTables(lutList, forceCheckIn);
fmtResult += "Row {1} deleted: {2}";
result = string.Format(fmtResult, tableName, row, rowName);
}
else
{
fmtResult += "Requested row {1} greater than number of rows {2}.";
result = string.Format(fmtResult, tableName, row, numRows);
}
return result;
}
関連項目
参照先
その他の技術情報
Walkthrough: Creating a Hierarchical Lookup Table