共用方式為


LookupTable.UpdateLookupTables 方法

建立、 修改或刪除自訂欄位的查閱資料表中的資料。如果LookupTableDataSet包含新的查閱表格,會修改現有的查閱表格,也會刪除不在LookupTableDataSet中的查閱表格UpdateLookupTables會建立查閱表格和對應的代碼遮罩。

命名空間:  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
)

參數

  • language
    類型:System.Int32

    地區設定識別碼 (LCID)。

備註

UpdateLookupTables更新現有的查閱資料表中的資料。若要建立或刪除查閱表格,您也可以使用CreateLookupTablesDeleteLookupTables

若要刪除的查閱表格值,請先使用ReadLookupTablesByUids方法以取得完整LookupTableDataSet,然後使用LookupTableDataSet.LookupTableTrees.Rows[index].Delete方法,此方法會標示為刪除列。請參閱 < 範例 > 一節。

若要更新一或多個查閱表格,請使用ReadLookupTablesByUids取得資料表格的所有必要的每個查閱表格,並傳回的LookupTableDataSet用於UpdateLookupTablesltds參數,則修改。

您也可以使用與null 參考 (未執行任何動作 於 Visual Basic 中)的ReadLookupTablesxmlFilter參數。在下列範例中, lookupTableLookupTableWebService.LookupTable類別的執行個體, lookupTableDataSetLookupTableDataSet執行個體。

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 來建立或更新的數字的查閱表格時,請勿加上有多個兩個小數位數的值。

UpdateLookupTables方法可讓您儲存含有兩個以上的小數位數。當您建立使用數字的查閱表格的自訂欄位時, Project Professional 2010會將 number 四捨五入至兩個小數位數的數字自訂欄位值,並顯示其為在下拉式清單中選取一個值的字串。當您選取一個值時, Project Professional 2010會將字串轉換回到數字。程序會顯示錯誤,因為具有兩個小數位數數值不存在。

Project Server 權限

權限

描述

ManageEnterpriseCustomFields

允許使用者修改企業自訂欄位與查閱表格值的定義。通用權限。

範例

The following example reads a specified lookup table and deletes a specified row in the table. The lookupTable parameter in the DeleteLookupTableRow sample method is a LookupTable object with valid Url and Credentials properties. The language parameter is an integer for the LCID; for example, 1033 is U.S. English. LookupTableWebSvc is an arbitrary reference name to the LookupTable.asmx Web service. For more information about using the code sample, see Prerequisites for ASMX-Based Code Samples.

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 命名空間

其他資源

Locale ID (LCID) Chart

Walkthrough: Creating a Hierarchical Lookup Table