Partager via


LookupTable.UpdateLookupTables - Méthode

Crée, modifie ou supprime les données dans les tables de choix de champs personnalisés. UpdateLookupTables crée des tables de choix et les masques de code correspondante si le LookupTableDataSet inclut de nouvelles tables de choix, modifie les tables de choix existante et supprime les tables de choix qui ne figurent pas dans le LookupTableDataSet.

Espace de noms :  WebSvcLookupTable
Assembly :  ProjectServerServices (dans ProjectServerServices.dll)

Syntaxe

'Déclaration
<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 _
)
'Utilisation
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
)

Paramètres

  • validateOnly
    Type : System.Boolean

    Valider uniquement, ne pas mettre à jour.

  • autoCheckIn
    Type : System.Boolean

    Si true, archiver après la mise à jour.

  • language
    Type : System.Int32

    ID de paramètres régionaux (LCID).

Remarques

UpdateLookupTables met à jour les données dans des tables de choix existante. Pour créer ou supprimer des tables de choix, vous pouvez également utiliser CreateLookupTables et DeleteLookupTables.

Pour supprimer une valeur de table de choix, tout d'abord utiliser la méthode ReadLookupTablesByUids pour obtenir un complète LookupTableDataSet, puis utilisez la méthode LookupTableDataSet.LookupTableTrees.Rows[index].Delete , qui marque la ligne pour la suppression. Consultez la section exemple.

Pour mettre à jour une ou plusieurs tables de choix, ReadLookupTablesByUids permet d'obtenir toutes les tables de données nécessaires pour chaque table de choix, puis modifiez le renvoyé LookupTableDataSet à utiliser pour le paramètre ltds dans UpdateLookupTables.

Vous pouvez également utiliser ReadLookupTables avec une référence Null (Rien dans Visual Basic) pour le paramètre xmlFilter . Dans l'exemple suivant, lookupTable est une instance de la classe LookupTableWebService.LookupTable et lookupTableDataSet est une instance d'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

Notes

Si vous utilisez ReadLookupTables et spécifiez des valeurs de xmlfilter , vous obtiendrez ne peut-être pas toutes les tables nécessaires pour une mise à jour. Dans ce cas, UpdateLookupTables génère une exception non gérée générale.

Avertissement

Lorsque vous utilisez l'interface PSI pour créer ou mettre à jour d'une table de choix numérique, n'ajoutez pas de valeurs qui ont plus de deux décimales.

La méthode UpdateLookupTables vous permet d'enregistrer un nombre avec plus de deux décimales. Lorsque vous créez un champ personnalisé qui utilise la table de choix numérique, Project Professionnel 2010 arrondit les valeurs de champ personnalisé nombres à deux décimales et les affiche sous forme de chaînes dans la liste déroulante pour sélectionner une valeur. Lorsque vous sélectionnez une valeur, Project Professionnel 2010 convertit la chaîne à un nombre. Le processus décrit une erreur, car la valeur numérique avec seulement deux décimales n'existe pas.

Autorisations Project Server

Autorisation

Description

ManageEnterpriseCustomFields

Permet à l'utilisateur de modifier les définitions des champs personnalisés d'entreprise et les valeurs de table de choix. Autorisation globale.

Exemples

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

Voir aussi

Référence

LookupTable classe

LookupTable - Membres

WebSvcLookupTable - Espace de noms

Autres ressources

Locale ID (LCID) Chart

Walkthrough: Creating a Hierarchical Lookup Table