次の方法で共有


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
)

パラメーター

  • validateOnly
    型: System.Boolean

    のみ検証、更新しないでください。

  • autoCheckIn
    型: System.Boolean

    場合はtrueを更新した後でチェックします。

注釈

UpdateLookupTablesは、既存の参照テーブル内のデータを更新します。作成または参照テーブルを削除するには、 CreateLookupTablesDeleteLookupTablesも使用できます。

参照テーブルの値を削除するには、まず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 桁の数値が存在しないため、エラーを示します。

プロジェクト サーバーのアクセス許可

権限

説明

ManageEnterpriseCustomFields

エンタープライズ ユーザー設定フィールドと参照テーブル値の定義を変更することができます。グローバル アクセス権。

次の使用例は、指定された参照テーブルを読み取り、テーブル内の指定した行を削除.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;
}

関連項目

参照先

LookupTable クラス

LookupTable メンバー

WebSvcLookupTable 名前空間

その他の技術情報

ロケール ID (LCID) グラフ

Walkthrough: Creating a Hierarchical Lookup Table