Compartir a través de


del método LookupTable.UpdateLookupTables

Crea, modifica o elimina los datos en tablas de búsqueda de campo personalizado. UpdateLookupTables crea las tablas de búsqueda y máscaras de código correspondientes si el LookupTableDataSet incluye nuevas tablas de búsqueda, modifica las tablas de búsqueda existentes y elimina tablas de búsqueda que no están en la LookupTableDataSet.

Espacio de nombres:  WebSvcLookupTable
Ensamblado:  ProjectServerServices (en ProjectServerServices.dll)

Sintaxis

'Declaración
<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

  • autoCheckIn
    Tipo: System.Boolean

    Si true, verificación en después de la actualización.

  • language
    Tipo: System.Int32

    Identificador de configuración regional (LCID).

Comentarios

UpdateLookupTables actualiza datos de tablas de búsqueda existente. Para crear o eliminar las tablas de búsqueda, también puede utilizar CreateLookupTables y DeleteLookupTables.

Para eliminar un valor de tabla de búsqueda, use primero el método ReadLookupTablesByUids para obtener una completa LookupTableDataSety, a continuación, utilice el método LookupTableDataSet.LookupTableTrees.Rows[index].Delete , que marca la fila para su eliminación. Vea la sección ejemplo.

Para actualizar una o varias tablas de búsqueda, use ReadLookupTablesByUids para obtener todas las tablas de datos necesarios para cada tabla de búsqueda y, a continuación, modifique el devuelto LookupTableDataSet a usar para el parámetro ltds en UpdateLookupTables.

También puede usar ReadLookupTables con una referencia null (Nothing en Visual Basic) para el parámetro xmlFilter . En el ejemplo siguiente, lookupTable es una instancia de la clase LookupTableWebService.LookupTable y lookupTableDataSet es una instancia de un 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

Nota

Si usa ReadLookupTables y especifique los valores de xmlfilter , es podrán no obtenga todas las tablas es necesario para una actualización. En ese caso, UpdateLookupTables da como resultado una excepción no controlada general.

Advertencia

Cuando se usa la interfaz PSI para crear o actualizar una tabla de búsqueda de número, no agregue los valores que tengan más de dos posiciones decimales.

El método UpdateLookupTables permite guardar un número con más de dos decimales. Cuando se crea un campo personalizado que utiliza la tabla de búsqueda de números, Project Professional 2010 redondea los valores de campo personalizado de número con dos decimales y si se muestra como cadenas en la lista desplegable para seleccionar un valor. Cuando se selecciona un valor, Project Professional 2010 convierte la cadena a un número. El proceso de muestra un error, porque el valor numérico con sólo dos decimales no existe.

Permisos de Project Server

Permiso

Descripción

ManageEnterpriseCustomFields

Permite al usuario modificar las definiciones de campos personalizados de empresa y los valores de tabla de búsqueda. Permiso global.

Ejemplos

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;
}

Vea también

Referencia

clase LookupTable

Miembros LookupTable

Espacio de nombres WebSvcLookupTable

Otros recursos

Locale ID (LCID) Chart

Walkthrough: Creating a Hierarchical Lookup Table