Leçon 4 : mise à jour par programme de la définition du rapport

Maintenant que la définition du rapport a été chargée depuis le serveur de rapports et que vous pouvez y faire référence à l'aide du champ du rapport, vous devez la mettre à jour. Pour cet exemple, vous allez mettre à jour la propriété Description du rapport.

Pour mettre à jour la définition du rapport

  • Remplacez le code de la méthode UpdateReportDefinition() du fichier Program.cs (Module1.vb en Visual Basic) par le code suivant :

    private void UpdateReportDefinition()
    {
        System.Console.WriteLine("Updating Report Definition");
    
        // Create a list of the Items Choices for the Report. The 
        // ItemsChoiceType80 enum represents all the properties
        // available in the report and the ItemsElementName 
        // represents the properties that exist in the current 
        // instance of the report.
        List<ItemsChoiceType80> _reportItems = 
            new List<ItemsChoiceType80>(_report.ItemsElementName);
    
        // Locate the index for the Description property
        int index = _reportItems.IndexOf(
            ItemsChoiceType80.Description);
    
        // The Description item is of type StringLocIDType, so 
        // cast the item type first and then assign new value.
        System.Console.WriteLine("- Old Description: " + 
            ((StringLocIDType)_report.Items[index]).Value );
    
        // Update the Description for the Report
        ((StringLocIDType)_report.Items[index]).Value = 
            "New Report Description";
    
        System.Console.WriteLine("- New Description: " + 
            ((StringLocIDType)_report.Items[index]).Value );
    }
    
    Private Sub UpdateReportDefinition()
    
        System.Console.WriteLine("Updating Report Definition")
    
        'Create a list of the Items Choices for the Report. The 
        'ItemsChoiceType80 enum represents all the properties
        'available in the report and the ItemsElementName 
        'represents the properties that exist in the current 
        'instance of the report.
        Dim reportItems As List(Of ItemsChoiceType80) = _
            New List(Of ItemsChoiceType80)(m_report.ItemsElementName)
    
        'Locate the index for the Description property
        Dim index As Integer = _
            reportItems.IndexOf(ItemsChoiceType80.Description)
    
        'The Description item is of type StringLocIDType, so 
        'cast the item type first and then assign new value.
        System.Console.WriteLine("- Old Description: " & _
            DirectCast(m_report.Items(index), StringLocIDType).Value)
    
        'Update the Description for the Report
        DirectCast(m_report.Items(index), StringLocIDType).Value = _
            "New Report Description"
    
        System.Console.WriteLine("- New Description: " & _
            DirectCast(m_report.Items(index), StringLocIDType).Value)
    
    End Sub
    

Leçon suivante

Dans la leçon suivante, vous allez réenregistrer la définition modifiée du rapport sur le serveur de rapports. Voir Leçon 5 : publication de la définition du rapport sur le serveur de rapports.