Návod: Přidání stránky aplikace do pracovního postupu
Tento návod ukazuje, jak přidat na stránku zobrazující data odvozené z pracovního postupu projektu pracovního postupu aplikace.Sestavení projektu popsané v tématu Návod: Vytvoření pracovního postupu pomocí formulářů přidružení a inicializace.
Tento návod demonstruje následující úkoly:
Přidání stránky ASPX aplikace pracovního postupu projektu služby SharePoint.
Získání dat z pracovního postupu projektu a manipulaci.
Zobrazení dat v tabulce na stránce aplikace.
[!POZNÁMKA]
Na vašem počítači se můžou v následujících pokynech zobrazovat jiné názvy nebo umístění některých prvků uživatelského rozhraní Visual Studia. Tyto prvky jsou určeny edicí sady Visual Studio a použitým nastavením. Další informace najdete v tématu Přizpůsobení nastavení pro vývoj v sadě Visual Studio.
Požadavky
Chcete-li dokončit tento návod, potřebujete následující komponenty:
Podporované edice Microsoft Windows a služby 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ávod: Vytvoření pracovního postupu pomocí formulářů přidružení a inicializace.
Změnu kódu pracovního postupu
Nejprve přidejte řádek kódu pracovního postupu nastavte hodnotu ve sloupci výsledek ve výši vyúčtování.Tato hodnota je použita později v souhrnný výpočet sestavy výdajů.
Nastavte hodnotu ve sloupci výsledek pracovního postupu
Dokončení projektu načíst z tématu Návod: Vytvoření pracovního postupu pomocí formulářů přidružení a inicializace do Visual Studio.
Spusťte kód Workflow1.cs nebo Workflow1.vb (v závislosti na programovacím jazyku).
Na konec createTask1_MethodInvoking metoda, 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 přidejte pomocí formuláře ASPX do projektu.Tento formulář se zobrazí data získaná z pracovního postupu projektu sestavy výdajů.Chcete-li to provést, přidejte stránku aplikace.Stránku aplikace používá stejnou stránku předlohy jako ostatní stránky služby SharePoint, což znamená, že bude vypadat podobně jako ostatní stránky na webu služby SharePoint.
Chcete-li přidat stránku aplikace do projektu
Zvolte projekt ExpenseReport a pak v řádku nabídek zvolte projektu, Přidat novou položku.
V šablony podokně zvolte Stránku 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 sekce s následující:
<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 a název tabulky.
Přidání nadpisu stránky aplikace nahrazením PlaceHolderPageTitleInTitleArea sekce s následující:
<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 do stránky aplikace souhrnné sestavy výdajů.Při otevření stránky kód prohledá seznam úkolů služby SharePoint pro výdaje, které překročil limit výdajů přidělených.V sestavě jsou uvedeny jednotlivé položky a částka výdajů.
Chcete-li kód stránky aplikace
Zvolte ApplicationPage1.aspx uzlu a pak v řádku nabídek zvolte zobrazení, kód k zobrazení kódu na pozadí stránky aplikace.
Nahradit using nebo Import příkazy (v závislosti na programovacím jazyku) v horní části 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;
Do metody Page_Load přidejte následující kód:
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í Je nutné nahradit "TestServer" v kódu název platný název serveru se službou SharePoint.
Testování stránky aplikace
Dále určete, zda stránky aplikace správně zobrazí data výdajů.
Otestování stránky aplikace
Zvolte klávesu F5 pro spuštění a nasazení projektu služby SharePoint.
Zvolte Home tlačítko a potom zvolte Sdílené dokumenty odkaz na panel Rychlé spuštění, chcete-li zobrazit seznam sdílených dokumentů na webu služby SharePoint.
Znázornit vyúčtování v tomto případě odeslat některé nové dokumenty do seznamu dokumentů výběrem dokumenty odkaz na LibraryTools karty v horní části stránky a pak volbou Uložit dokument tlačítko na pásu karet nástroje.
Po odeslání některé dokumenty vytvořit instanci pracovního postupu pomocí příkazu Knihovna odkaz na LibraryTools karty v horní části stránky a pak volbou 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 stránky, zvolte Přidat pracovní postup odkaz.
V Přidat pracovní postup stránky, 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ů.
V přidružovacím formuláři zadejte 1000 do Limit pro automatické schvalování 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 panel Rychlé spuštění.
Zvolte jednu z odeslaných dokumentů zobrazit šipku rozevíracího seznamu, vyberte ji a pak zvolte postupy zboží.
Zvolte Obraz u ExpenseTest zobrazení spouštěcího formuláře pracovního postupu.
V Celkové výdaje textového pole zadejte hodnotu, která je větší než 1000 a pak zvolte Zahájit pracovní postup tlačítko.
Vykázané výdaje 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 je také přidán do položky vyúčtování výdajů v seznamu Sdílené dokumenty.
Opakujte kroky 11-13 s jinými dokumenty v seznamu Sdílené dokumenty. (Přesný počet dokumentů není důležité.)
Stránka Souhrn aplikací sestavy výdajů zobrazit otevřením následující adresy URL ve webovém prohlížeči: http://SystemName/_layouts/ExpenseReport/ApplicationPage1.aspx.
Na stránce souhrnné sestavy výdajů jsou uvedeny všechny sestavy výdajů, které překračují přidělené množství, částka, kterou je podle překročení a celkovou částku pro všechny sestavy.
Další kroky
Další informace o použití stránek služby SharePoint naleznete v tématu Vytváření stránek aplikací pro službu SharePoint.
Můžete další informace o navrhování obsahu stránky služby SharePoint pomocí vizuálního návrháře webu v aplikaci Visual Studio tato témata:
Viz také
Úkoly
Návod: Vytvoření pracovního postupu pomocí formulářů přidružení a inicializace
Postupy: Vytvoření stránky aplikace