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
)
參數
ltds
類型:WebSvcLookupTable.LookupTableDataSetLookupTableDataSet datatable 中的資料。
validateOnly
類型:System.Boolean僅限驗證,不會更新。
autoCheckIn
類型:System.Boolean如果true,存回後更新。
language
類型:System.Int32地區設定識別碼 (LCID)。
備註
UpdateLookupTables更新現有的查閱資料表中的資料。若要建立或刪除查閱表格,您也可以使用CreateLookupTables和DeleteLookupTables。
若要刪除的查閱表格值,請先使用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 權限
權限 |
描述 |
---|---|
允許使用者修改企業自訂欄位與查閱表格值的定義。通用權限。 |
範例
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;
}
請參閱
參照
其他資源
Walkthrough: Creating a Hierarchical Lookup Table