Condividi tramite


Lezione 4: Aggiornamento della definizione del report a livello di programmazione

Dopo aver caricato la definizione del report dal server di report e aver definito un riferimento alla definizione mediante il campo del report, è necessario aggiornare la definizione del report. Per questo esempio verrà aggiornata la proprietà Description per il report.

Per aggiornare la definizione del report

  • Sostituire il codice per il metodo UpdateReportDefinition() nel file Program.cs (Module1.vb per Visual Basic) con il codice seguente:

    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
    

Lezione successiva

Nella lezione successiva la definizione del report aggiornata verrà salvata nel server di report. Vedere Lezione 5: Pubblicazione della definizione del report nel Server report.