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:
Podporované edice Microsoft Windows a SharePoint.Další informace naleznete v tématu Požadavky na vývoj řešení služby SharePoint.
Visual Studio.
Máte také k dokončení projektu v tématu Názorný postup: Vytváření s přidružení a zahájení pracovního postupu.
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
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.
Otevřete kód pro Workflow1.cs nebo Workflow1.vb (v závislosti na programovací jazyk).
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
Zvolte ExpenseReport projektu a potom na panelu nabídek zvolte projektu, Přidat novou položku.
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.
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.
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
Zvolte ApplicationPage1.aspx uzlu a potom vyberte na panelu nabídek zobrazení, kód zobrazit kód stránky aplikace.
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;
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()); }
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
Zvolte spustit a zavedení projektu na server SharePoint klávesu F5.
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.
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.
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.
V Nastavení knihovny dokumentů zvolte Nastavení pracovního postupu propojit oprávnění a správa oddílu.
V Nastavení pracovního postupu zvolte Přidat pracovní postup odkaz.
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ů.
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.
Zvolte domácí tlačítko se vrátíte na domovskou stránku služby SharePoint.
Zvolte Sdílené dokumenty odkaz na panelu Snadné spuštění.
Zvolte jeden z dokumentů uloženým na šipku rozevíracího seznamu zobrazit, zvolte ji a pak zvolte pracovní postupy zboží.
Zvolte Obraz u ExpenseTest zobrazení spouštěcího formuláře pracovního postupu.
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.
Opakováním kroků 11 13 s jinými dokumenty v seznamu Sdílené dokumenty.(Přesný počet dokumentů není důležité.)
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