Sdílet prostřednictvím


Názorný postup: Přidání stránky aplikace do pracovního postupu

Tento názorný postup ukazuje, jak přidání stránky zobrazující data pocházející z pracovního postupu projektu pracovního postupu aplikace.Sestavení projektu popsaných v tématu Názorný postup: Vytváření s přidružení a zahájení pracovního postupu.

Tento návod demonstruje následující úkoly:

  • Přidání stránky ASPX aplikace SharePoint pracovního postupu projektu.

  • Získání dat z pracovního postupu projektu a manipulaci.

  • Zobrazení dat v tabulce na stránce aplikace.

[!POZNÁMKA]

Ve vašem počítači se pro některé z prvků uživatelského rozhraní sady Visual Studio mohou zobrazit jiné názvy a umístění, než jsou uvedeny v následujících pokynech. Tyto prvky jsou určeny verzí aplikace Visual Studio a použitým nastavením. Další informace naleznete v tématu Nastavení aplikace Visual Studio.

Požadavky

Chcete-li dokončit tento návod, potřebujete následující komponenty:

Změnu kódu pracovního postupu

Nejprve přidejte řádek kódu do pracovního postupu nastavte hodnotu ve sloupci výsledek ve výši vyúčtování.Tato hodnota se používá v souhrnný výpočet Sestava výdajů.

Nastavte hodnotu ve sloupci výsledek pracovního postupu

  1. Načíst dokončený projekt z tématu Názorný postup: Vytváření s přidružení a zahájení pracovního postupu do Visual Studio.

  2. Otevřete kód pro Workflow1.cs nebo Workflow1.vb (v závislosti na programovací jazyk).

  3. Do dolní části createTask1_MethodInvoking metodou, přidejte následující kód:

    createTask1_TaskProperties1.ExtendedProperties("Outcome") = 
      workflowProperties.InitiationData
    
    createTask1_TaskProperties1.ExtendedProperties["Outcome"] = 
      workflowProperties.InitiationData;
    

Vytvoření stránky aplikace

Dále do projektu přidáte formulář ASPX.Tento formulář se zobrazí údaje získané z pracovního postupu projektu Sestava výdajů.Provedete to bude přidání stránky aplikace.Stránce aplikace používá stejnou stránku předlohy jako jiných stránek služby SharePoint, což znamená, že vypadat další stránky na webu služby SharePoint.

Stránce Přidat do projektu

  1. Zvolte ExpenseReport projektu a potom na panelu nabídek zvolte projektu, Přidat novou položku.

  2. V šablony podokně zvolte Stránka aplikace šablony, použijte výchozí název pro položku projektu (ApplicaitonPage1.aspx) a zvolte Přidat tlačítko.

  3. V XML z ApplicationPage1.aspx, nahradit PlaceHolderMain oddíl s následujícím:

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

    Tento kód přidá na stránku s název tabulky.

  4. Přidání nadpisu stránky aplikace nahrazením PlaceHolderPageTitleInTitleArea oddíl s následujícím:

    <asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" >
        Expense Report Summary
    </asp:Content>
    

Kódování stránky aplikace

Dále přidejte kód stránky shrnutí žádosti Sestava výdajů.Při otevření stránky kód prohledávání seznamu služby SharePoint pro výdaje, které překročili přidělené útvary.Sestava obsahuje seznam jednotlivých položek s součet výdajů.

Kód stránky aplikace

  1. Zvolte ApplicationPage1.aspx uzlu a potom vyberte na panelu nabídek zobrazení, kód zobrazit kód stránky aplikace.

  2. Nahradit using nebo Import příkazy (v závislosti na programovací jazyk) na začátku třídy s následujícím:

    Imports System
    Imports Microsoft.SharePoint
    Imports Microsoft.SharePoint.WebControls
    Imports System.Collections
    Imports System.Data
    Imports System.Web.UI
    Imports System.Web.UI.WebControls
    Imports System.Web.UI.WebControls.WebParts
    Imports System.Drawing
    Imports Microsoft.SharePoint.Navigation
    
    using System;
    using Microsoft.SharePoint;
    using Microsoft.SharePoint.WebControls;
    using System.Collections;
    using System.Data;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.WebControls.WebParts;
    using System.Drawing;
    using Microsoft.SharePoint.Navigation;
    
  3. Přidejte následující kód Page_Load metoda:

    Try
        ' Reference the Tasks list on the SharePoint site.
        ' Replace "TestServer" with a valid SharePoint server name.
        Dim site As SPSite = New SPSite("http://TestServer")
        Dim list As SPList = site.AllWebs(0).Lists("Tasks")
        ' string text = "";
        Dim sum As Integer = 0
        Table1.Rows.Clear()
        ' Add table headers.
        Dim hr As TableHeaderRow = New TableHeaderRow
        hr.BackColor = Color.LightBlue
        Dim hc1 As TableHeaderCell = New TableHeaderCell
        Dim hc2 As TableHeaderCell = 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.
        For Each item As SPListItem In list.Items
            Dim s_relContent As String = ""
            Dim s_outcome As String = ""
            Try
                ' Task has the fields - treat as expense report.
                s_relContent = item.GetFormattedValue("Related Content")
                s_outcome = item.GetFormattedValue("Outcome")
            Catch erx As System.Exception
                ' Task does not have fields - skip it.
                Continue For
            End Try
            ' Convert amount to an int and keep a running total.
            If (Not String.IsNullOrEmpty(s_relContent) And Not 
              String.IsNullOrEmpty(s_outcome)) Then
                sum = (sum + Convert.ToInt32(s_outcome))
                Dim relContent As TableCell = New TableCell
                relContent.Text = s_relContent
                Dim outcome As TableCell = New TableCell
                outcome.Text = ("$" + s_outcome)
                Dim dataRow2 As TableRow = New TableRow
                dataRow2.Cells.Add(relContent)
                dataRow2.Cells.Add(outcome)
                Table1.Rows.Add(dataRow2)
            End If
        Next
        ' Report the sum of the reports in the table footer.
        Dim tfr As TableFooterRow = New TableFooterRow
        tfr.BackColor = Color.LightGreen
        ' Create a TableCell object to contain the 
        ' text for the footer.
        Dim ftc1 As TableCell = New TableCell
        Dim ftc2 As TableCell = 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 errx As Exception
        System.Diagnostics.Debug.WriteLine(("Error: " + errx.ToString))
    End Try
    
    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());
    }
    
    Poznámka k upozorněníUpozornění

    Nezapomeňte nahradit kód "TestServer" název platný server se spuštěnou službou SharePoint.

Testování stránky aplikace

Dále určete, zda aplikace stránky správně zobrazí data výdajů.

Testování stránky aplikace

  1. Zvolte spustit a zavedení projektu na server SharePoint klávesu F5.

  2. Zvolte Home tlačítko a poté zvolte Sdílené dokumenty odkaz na panelu Snadné spuštění zobrazit seznam sdílených dokumentů na webu SharePoint.

  3. Vyúčtování v tomto příkladu představuje, uložit některé nové dokumenty do seznamu dokumentů výběrem Dokumenty odkaz na LibraryTools v horní části stránky a potom zvolíte kartu Uložit dokument tlačítko na pásu karet nástroje.

  4. Po odeslání některé dokumenty vytvářet instance pracovního postupu výběrem knihovnu odkaz na LibraryTools v horní části stránky a potom zvolíte kartu Nastavení knihovny tlačítko na pásu karet nástroje.

  5. V Nastavení knihovny dokumentů zvolte Nastavení pracovního postupu propojit oprávnění a správa oddílu.

  6. V Nastavení pracovního postupu zvolte Přidat pracovní postup odkaz.

  7. V Přidat pracovní postup zvolte ExpenseReport - Workflow1 pracovního postupu, zadejte název pracovního postupu, například ExpenseTest a pak zvolte Další tlačítko.

    Zobrazí se formulář přidružení pracovního postupu.Sestava se používá maximální částka výdajů.

  8. Ve formuláři přidružení zadejte 1000 do Limit automatické schválení pole a pak zvolte Přidružení pracovního postupu tlačítko.

  9. Zvolte domácí tlačítko se vrátíte na domovskou stránku služby SharePoint.

  10. Zvolte Sdílené dokumenty odkaz na panelu Snadné spuštění.

  11. Zvolte jeden z dokumentů uloženým na šipku rozevíracího seznamu zobrazit, zvolte ji a pak zvolte pracovní postupy zboží.

  12. Zvolte Obraz u ExpenseTest zobrazení spouštěcího formuláře pracovního postupu.

  13. V Celkové náklady textového pole zadejte hodnotu, která je větší než 1000 a pak zvolte Spuštění pracovního postupu tlačítko.

    Při nahlášených výdajů překročí částku přidělených výdajů, je úkol přidán do seznamu úkolů.Sloupec s názvem ExpenseTest s hodnotou Dokončeno přidán také položky vyúčtování výdajů v seznamu Sdílené dokumenty.

  14. Opakováním kroků 11 13 s jinými dokumenty v seznamu Sdílené dokumenty.(Přesný počet dokumentů není důležité.)

  15. Zobrazení stránky shrnutí žádosti sestavy výdajů otevřete ve webovém prohlížeči na následující adresu URL: http://SystemName/_layouts/ExpenseReport/ApplicationPage1.aspx.

    Stránky sestavy Souhrn výdajů jsou uvedeny všechny vyúčtování překročil přidělená částka, částka, kterou ji překročení a celkovou částku pro všechny sestavy.

Další kroky

Další informace o použití stránek služby SharePoint naleznete v Vytváření stránek v aplikaci SharePoint.

Můžete další informace o navrhování obsahu stránky služby SharePoint pomocí vizuální Návrhář webu v aplikaci Visual Studio z těchto témat:

Viz také

Úkoly

Názorný postup: Vytváření s přidružení a zahájení pracovního postupu

Jak: Vytvořte stránku aplikace

Další zdroje

Vytváření stránek v aplikaci SharePoint

Vývoj řešení služby SharePoint