LookupTable.CreateLookupTables method
Cria tabelas de pesquisa do campo personalizado e máscaras de código correspondente.
Namespace: WebSvcLookupTable
Assembly: ProjectServerServices (in ProjectServerServices.dll)
Syntax
'Declaração
<SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/LookupTable/CreateLookupTables", 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 CreateLookupTables ( _
ltds As LookupTableDataSet, _
validateOnly As Boolean, _
autoCheckIn As Boolean _
)
'Uso
Dim instance As LookupTable
Dim ltds As LookupTableDataSet
Dim validateOnly As Boolean
Dim autoCheckIn As Boolean
instance.CreateLookupTables(ltds, validateOnly, _
autoCheckIn)
[SoapDocumentMethodAttribute("https://schemas.microsoft.com/office/project/server/webservices/LookupTable/CreateLookupTables", 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 CreateLookupTables(
LookupTableDataSet ltds,
bool validateOnly,
bool autoCheckIn
)
Parâmetros
ltds
Type: WebSvcLookupTable.LookupTableDataSetLookupTableDataSet contendo dados nas tabelas de dados.
validateOnly
Type: System.BooleanValidar apenas, não crie.
autoCheckIn
Type: System.BooleanSe true, check-in depois de criar.
Comentários
If you create a non-text lookup table such as type Cost, Date, Duration, or Number, you still need to programmatically create a code mask. Project Web App hides the code mask for non-text lookup tables in the New Lookup Table page, but creates a code mask for the call to CreateLookupTable. For an example that creates a Duration lookup table, see CreateLookupTablesMultiLang. For more examples, see Using the ProjTool Test Application.
O evento prévia de CreateLookupTables é LookupTableEventReceiver.OnCreating e o pós-evento é OnCreated.
Dica
Os pré-lançamento e pós-eventos para CreateLookupTables exponham LookupTableMultiLangDataSet no parâmetro e manipuladores de eventos, em vez de um LookupTableDataSet.
To use datasets in event handlers, set a reference to the Microsoft.Office.Project.Schema.dll assembly. For more information, see How to: Write and Debug a Project Server Event Handler. For more examples, see Using the ProjTool Test Application.
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 CreateLookupTables 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 que um usuário modificar as definições de campos personalizados da empresa e valores de tabela de pesquisa. Permissão global. |
Examples
O código a seguir é um manipulador de eventos de pré-lançamento para CreateLookupTables que obtém os dados de diferentes tabelas em um LookupTableMultiLanguageDataSet.
using PSLibrary = Microsoft.Office.Project.Server.Library;
. . .
public class LookupTableEvents : LookupTableEventReceiver
{
public override void OnCreating(PSLibrary.PSContextInfo contextInfo,
LookupTablePreEventArgs e)
{
int lutLanguage =
(int)e.LookupTableInformation.LookupTableLanguages.Rows[0]["LCID"];
Guid lutMultiUid =
(Guid)e.LookupTableInformation.LookupTables.Rows[0]["LT_UID"];
string lutMultiValue =
(string)e.LookupTableInformation.LookupTableValues.Rows[0]["LT_VALUE_TEXT"];
. . .
}