LookupTable.UpdateLookupTables method
Cria, modifica ou exclui os dados nas tabelas de pesquisa do campo personalizado. UpdateLookupTables cria tabelas de pesquisa e máscaras de código correspondente, se o LookupTableDataSet inclui novas tabelas de pesquisa, modifica as tabelas de pesquisa existente e exclui as tabelas de pesquisa que não estão no LookupTableDataSet.
Namespace: WebSvcLookupTable
Assembly: ProjectServerServices (in ProjectServerServices.dll)
Syntax
'Declaração
<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 _
)
'Uso
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
)
Parâmetros
ltds
Type: WebSvcLookupTable.LookupTableDataSetLookupTableDataSet com dados nas tabelas de dados.
validateOnly
Type: System.BooleanValidar apenas, não atualizar.
autoCheckIn
Type: System.BooleanSe true, check-in após a atualização.
language
Type: System.Int32Identificação de localidade (LCID).
Comentários
UpdateLookupTables atualiza os dados em tabelas de pesquisa existente. Para criar ou excluir tabelas de pesquisa, você também pode usar CreateLookupTables e DeleteLookupTables.
Para excluir um valor de tabela de pesquisa, primeiro usar o método ReadLookupTablesByUids para obter uma completa LookupTableDataSete, em seguida, use o método LookupTableDataSet.LookupTableTrees.Rows[index].Delete que marca a linha para exclusão. Consulte a seção de exemplo.
Para atualizar um ou mais tabelas de pesquisa, use ReadLookupTablesByUids para obter todas as tabelas de dados necessários para cada tabela de pesquisa e, em seguida, modifique o retornado LookupTableDataSet a ser usado para o parâmetro ltds em UpdateLookupTables.
Você também pode usar ReadLookupTables com a null reference (Nothing in Visual Basic) para o parâmetro xmlFilter . No exemplo a seguir, lookupTable é uma instância da classe LookupTableWebService.LookupTable e lookupTableDataSet é uma instância de um 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
Dica
Se você usar ReadLookupTables e especifique os valores de xmlfilter , talvez não obtenha todas as tabelas necessárias para uma atualização. Nesse caso, UpdateLookupTables resulta em uma exceção sem tratamento geral.
Aviso
Quando você usa a PSI para criar ou atualizar uma tabela de pesquisa de número, não adicione valores que têm mais de duas casas decimais.
O método UpdateLookupTables lhe permite salvar um número com mais de duas casas decimais. Quando você cria um campo personalizado que usa a tabela de pesquisa de número, Project Professional 2010 Arredonda os valores de campo personalizado de número para duas casas decimais e mostra-las como sequências de caracteres na lista suspensa para selecionar um valor. Quando você seleciona um valor, Project Professional 2010 converte a sequência de volta para um número. O processo mostra um erro, porque o valor numérico com apenas duas casas decimais não existe.
Permissões do Project Server
Permissão |
Descrição |
---|---|
Permite ao usuário modificar as definições de campos personalizados da empresa e valores de tabela de pesquisa. Permissão global. |
Examples
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;
}
Ver também
Referência
Outros recursos
Walkthrough: Creating a Hierarchical Lookup Table