Procedura dettagliata: Aggiungere una pagina dell'applicazione a un flusso di lavoro
Questa procedura dettagliata illustra come aggiungere una pagina dell'applicazione che visualizza i dati derivati da un flusso di lavoro a un progetto di flusso di lavoro. Si basa sul progetto descritto nell'argomento Procedura dettagliata: Creare un flusso di lavoro con moduli di associazione e avvio.
In questa procedura dettagliata sono illustrati i task seguenti:
Aggiunta di una pagina dell'applicazione ASPX a un progetto flusso di lavoro di SharePoint.
Ottenere dati dal progetto del flusso di lavoro e modificarli.
Visualizzazione dei dati in una tabella nella pagina dell'applicazione.
Nota
I nomi o i percorsi visualizzati per alcuni elementi dell'interfaccia utente di Visual Studio nelle istruzioni seguenti potrebbero essere diversi nel computer in uso. La versione di Visual Studio in uso e le impostazioni configurate determinano questi elementi. Per altre informazioni, vedere Personalizzare l'IDE.
Prerequisiti
Per completare questa procedura dettagliata, è necessario disporre dei componenti seguenti:
Edizioni supportate di Microsoft Windows e SharePoint.
Visual Studio.
È anche necessario completare il progetto nell'argomento Procedura dettagliata: Creare un flusso di lavoro con moduli di associazione e avvio.
Modificare il codice del flusso di lavoro
Aggiungere prima di tutto una riga di codice al flusso di lavoro per impostare il valore della colonna Risultato sull'importo della nota spese. Questo valore viene usato più avanti nel calcolo di riepilogo della nota spese.
Per impostare il valore della colonna dei risultati nel flusso di lavoro
Caricare il progetto completato dall'argomento Procedura dettagliata: Creazione di un flusso di lavoro con associazioni e moduli di avvio in Visual Studio.
Aprire il codice per Workflow1.cs o Workflow1.vb (a seconda del linguaggio di programmazione).
Nella parte inferiore del
createTask1_MethodInvoking
metodo aggiungere il codice seguente:
Creare una pagina dell'applicazione
Aggiungere quindi un modulo ASPX al progetto. Questo modulo visualizzerà i dati ottenuti dal progetto flusso di lavoro del report spese. A tale scopo, si aggiungerà una pagina dell'applicazione. Una pagina dell'applicazione usa la stessa pagina master di altre pagine di SharePoint, vale a dire che sarà simile ad altre pagine nel sito di SharePoint.
Per aggiungere una pagina dell'applicazione al progetto
Scegliere il progetto ExpenseReport e quindi sulla barra dei menu scegliere Progetto>Aggiungi nuovo elemento.
Nel riquadro Modelli scegliere il modello Pagina applicazione, usare il nome predefinito per l'elemento di progetto (ApplicationPage1.aspx) e scegliere il pulsante Aggiungi.
Nel codice XML di ApplicationPage1.aspx sostituire la
PlaceHolderMain
sezione con quanto segue:<asp:Content ID="Main" ContentPlaceHolderID="PlaceHolderMain" runat="server"> <asp:Label ID="Label1" runat="server" Font-Bold="True" Text="Expenses that exceeded allotted amount" Font-Size="Medium"></asp:Label> <br /> <asp:Table ID="Table1" runat="server"> </asp:Table> </asp:Content>
Questo codice aggiunge una tabella alla pagina insieme a un titolo.
Aggiungere un titolo alla pagina dell'applicazione sostituendo la
PlaceHolderPageTitleInTitleArea
sezione con quanto segue:<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" > Expense Report Summary </asp:Content>
Scrivere il codice della pagina dell'applicazione
Aggiungere quindi il codice alla pagina dell'applicazione di riepilogo delle note spese. Quando si apre la pagina, il codice analizza l'elenco attività in SharePoint per individuare le spese che hanno superato il limite di spesa allocato. Il report elenca ogni elemento insieme alla somma delle spese.
Per codificare la pagina dell'applicazione
Scegliere il nodo ApplicationPage1.aspx e quindi nella barra dei menu scegliere Visualizza>codice per visualizzare il code-behind della pagina dell'applicazione.
Sostituire le istruzioni using o Import (a seconda del linguaggio di programmazione) all'inizio della classe con quanto segue:
Aggiungere al metodo
Page_Load
il codice seguente:try { // Reference the Tasks list on the SharePoint site. // Replace "TestServer" with a valid SharePoint server name. SPSite site = new SPSite("http://TestServer"); SPList list = site.AllWebs[0].Lists["Tasks"]; // string text = ""; int sum = 0; Table1.Rows.Clear(); // Add table headers. TableHeaderRow hr = new TableHeaderRow(); hr.BackColor = Color.LightBlue; TableHeaderCell hc1 = new TableHeaderCell(); TableHeaderCell hc2 = new TableHeaderCell(); hc1.Text = "Expense Report Name"; hc2.Text = "Amount Exceeded"; hr.Cells.Add(hc1); hr.Cells.Add(hc2); // Add the TableHeaderRow as the first item // in the Rows collection of the table. Table1.Rows.AddAt(0, hr); // Iterate through the tasks in the Task list and collect those // that have values in the "Related Content" and "Outcome" // fields - the fields written to when expense approval is // required. foreach (SPListItem item in list.Items) { string s_relContent = ""; string s_outcome = ""; try { // Task has the fields - treat as expense report. s_relContent = item.GetFormattedValue("Related Content"); s_outcome = item.GetFormattedValue("Outcome"); } catch { // Task does not have fields - skip it. continue; } if (!String.IsNullOrEmpty(s_relContent) && !String.IsNullOrEmpty(s_outcome)) { // Convert amount to an int and keep a running total. sum += Convert.ToInt32(s_outcome); TableCell relContent = new TableCell(); relContent.Text = s_relContent; TableCell outcome = new TableCell(); outcome.Text = "$" + s_outcome; TableRow dataRow2 = new TableRow(); dataRow2.Cells.Add(relContent); dataRow2.Cells.Add(outcome); Table1.Rows.Add(dataRow2); } } // Report the sum of the reports in the table footer. TableFooterRow tfr = new TableFooterRow(); tfr.BackColor = Color.LightGreen; // Create a TableCell object to contain the // text for the footer. TableCell ftc1 = new TableCell(); TableCell ftc2 = new TableCell(); ftc1.Text = "TOTAL: "; ftc2.Text = "$" + Convert.ToString(sum); // Add the TableCell object to the Cells // collection of the TableFooterRow. tfr.Cells.Add(ftc1); tfr.Cells.Add(ftc2); // Add the TableFooterRow to the Rows // collection of the table. Table1.Rows.Add(tfr); } catch (Exception errx) { System.Diagnostics.Debug.WriteLine("Error: " + errx.ToString()); }
Avviso
Assicurarsi di sostituire "TestServer" nel codice con il nome di un server valido che esegue SharePoint.
Testare la pagina dell'applicazione
Determinare quindi se la pagina dell'applicazione visualizza correttamente i dati delle spese.
Per testare la pagina dell'applicazione
Scegliere il tasto F5 per eseguire e distribuire il progetto in SharePoint.
Scegliere il pulsante Home e quindi scegliere il collegamento Documenti condivisi nella barra di avvio rapido per visualizzare l'elenco Documenti condivisi nel sito di SharePoint.
Per rappresentare le note spese per questo esempio, caricare alcuni nuovi documenti nell'elenco Documenti scegliendo il collegamento Documenti nella scheda LibraryTools nella parte superiore della pagina e quindi scegliendo il pulsante Carica documento sulla barra multifunzione dello strumento.
Dopo aver caricato alcuni documenti, creare un'istanza del flusso di lavoro scegliendo il collegamento Libreria nella scheda LibraryTools nella parte superiore della pagina e quindi scegliendo il pulsante Libreria Impostazioni sulla barra multifunzione dello strumento.
Nella pagina Raccolta documenti Impostazioni scegliere il collegamento Flusso di lavoro Impostazioni nella sezione Autorizzazioni e gestione.
Nella pagina Flusso di lavoro Impostazioni scegliere il collegamento Aggiungi un flusso di lavoro.
Nella pagina Aggiungi flusso di lavoro scegliere il flusso di lavoro ExpenseReport - Workflow1, immettere un nome per il flusso di lavoro, ad esempio ExpenseTest e quindi scegliere il pulsante Avanti.
Viene visualizzato il modulo Associazione flusso di lavoro. Usarlo per segnalare l'importo del limite di spese.
Nel modulo Associazione immettere 1000 nella casella Limite approvazione automatica e quindi scegliere il pulsante Associa flusso di lavoro.
Scegliere il pulsante Home per tornare alla home page di SharePoint.
Scegliere il collegamento Documenti condivisi sulla barra di avvio rapido.
Scegliere uno dei documenti caricati per visualizzare una freccia a discesa, sceglierla e quindi scegliere l'elemento Flussi di lavoro .
Scegliere l'immagine accanto a ExpenseTest per visualizzare il modulo Di avvio del flusso di lavoro.
Nella casella di testo Expense Total (Totale spese) immettere un valore maggiore di 1000 e quindi scegliere il pulsante Avvia flusso di lavoro.
Quando una spesa segnalata supera l'importo delle spese allocate, un'attività viene aggiunta all'elenco attività. Viene aggiunta anche una colonna denominata ExpenseTest con il valore Completed all'elemento della nota spese nell'elenco Documenti condivisi.
Ripetere i passaggi da 11 a 13 con altri documenti nell'elenco Documenti condivisi. Il numero esatto di documenti non è importante.
Visualizzare la pagina di riepilogo delle spese aprendo l'URL seguente in un Web browser: http:// SystemName/_layouts/ExpenseReport/ApplicationPage1.aspx.
Nella pagina di riepilogo della nota spese sono elencate tutte le note spese che hanno superato l'importo allocato, l'importo superato da e l'importo totale per tutti i report.
Contenuto correlato
- Creare pagine dell'applicazione per SharePoint.
- Creare web part per SharePoint.
- Creare controlli riutilizzabili per web part o pagine dell'applicazione.
- Procedura dettagliata: Creare un flusso di lavoro con moduli di associazione e avvio
- Procedura: Creare una pagina dell'applicazione
- Sviluppare soluzioni SharePoint