Instruktaż: Dodawanie strony aplikacji do przepływu pracy
W tym instruktażu przedstawiono sposób dodawania strony aplikacji, który wyświetla dane pochodzące z przepływu pracy do projektu przepływu pracy.Opiera się na projekcie opisanych w temacie Instruktaż: Tworzenie przepływu pracy z stowarzyszenia i formularze inicjacji.
W tym instruktażu przedstawiono następujące zadania:
Dodawanie ASPX strony aplikacji do projektu przepływu pracy programu SharePoint.
Uzyskiwanie danych z projektu przepływu pracy i na nim manipulacji.
Wyświetlanie danych w tabeli na stronie aplikacji.
[!UWAGA]
Na danym komputerze mogą być używane inne nazwy lub lokalizacje pewnych elementów interfejsu użytkownika programu Visual Studio, które są używane w poniższych instrukcjach. Używana wersja programu Visual Studio oraz jej ustawienia określają te elementy. Aby uzyskać więcej informacji, zobacz Visual Studio, ustawienia.
Wymagania wstępne
Potrzebne do przeprowadzenia tego instruktażu następujące składniki:
Obsługiwane wersje Microsoft Windows i programu SharePoint.Aby uzyskać więcej informacji, zobacz Wymagania dotyczące rozwiązań programu SharePoint.
Visual Studio.
Trzeba także zakończenie projektu w temacie Instruktaż: Tworzenie przepływu pracy z stowarzyszenia i formularze inicjacji.
Zmieniające kod przepływu pracy
Najpierw należy dodać wiersz kodu do przepływu pracy, aby ustawić wartości w kolumnie wynik kwota raportu wydatków.Ta wartość jest używana w dalszej części obliczenie podsumowania raportu wydatków.
Aby ustawić wartość kolumny wyników w przepływie pracy
Ładowanie zakończone projektu z tematu Instruktaż: Tworzenie przepływu pracy z stowarzyszenia i formularze inicjacji do Visual Studio.
Otwórz kod dla Workflow1.cs lub Workflow1.vb (w zależności od języka programowania).
U dołu createTask1_MethodInvoking metody, Dodaj następujący kod:
createTask1_TaskProperties1.ExtendedProperties("Outcome") = workflowProperties.InitiationData
createTask1_TaskProperties1.ExtendedProperties["Outcome"] = workflowProperties.InitiationData;
Tworzenie stron aplikacji
Następnie dodać formularz ASPX do projektu.Ten formularz będą wyświetlane dane uzyskane z przepływu pracy projektu raportu wydatków.Aby to zrobić, dodanie strony aplikacji.Na stronie aplikacji używa tej samej strony wzorcowej innych stron programu SharePoint, co oznacza, że będzie przypominał innych stron w witrynie programu SharePoint.
Aby dodać stronę aplikacji do projektu
Wybierz projekt ExpenseReport, a następnie na pasku menu wybierz projektu, Dodaj nowy element.
W szablonów okienku wybierz Strony aplikacji szablonu, użyj nazwy domyślnej dla elementu projektu (ApplicaitonPage1.aspx) i wybierz polecenie Dodaj przycisku.
W XML z ApplicationPage1.aspx, należy zastąpić PlaceHolderMain sekcji z następujących czynności:
<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>
Ten kod dodaje tabelę do strony z tytułu.
Dodawanie tytułu do strony aplikacji przez zastąpienie PlaceHolderPageTitleInTitleArea sekcji z następujących czynności:
<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" > Expense Report Summary </asp:Content>
Kodowanie strony aplikacji
Następnie należy dodać kod do strony aplikacji podsumowanie raportu wydatków.Po otwarciu strony kod skanuje listy zadań programu SharePoint na wydatki, które przekroczona przydzielonego limitu wydatków.Raport wyświetla każdy element z sumy wydatków.
Kod strony aplikacji
Wybierz ApplicationPage1.aspx węzeł, a następnie na pasku menu wybierz widoku, kodu do wyświetlania kodu strony aplikacji.
Zamień using lub Import instrukcji (w zależności od języka programowania) na początku klasy z następujących czynności:
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;
Dodaj następujący kod do Page_Load metody:
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()); }
Przestroga
Należy zastąpić nazwę prawidłowego serwera uruchomionego programu SharePoint "Serwer testowy" w kodzie.
Testowanie strony aplikacji
Następnie należy określić, czy strony aplikacji wyświetla prawidłowo danych wydatków.
Aby przetestować strony aplikacji
Wybierz klawisz F5, aby uruchomić i wdrażanie projektu w programie SharePoint.
Wybierz domu przycisk, a następnie wybierz Dokumenty udostępnione łącze na pasek szybkiego uruchamiania, aby wyświetlić listę dokumenty udostępnione w witrynie programu SharePoint.
Do reprezentowania raporty wydatków, w tym przykładzie, przekazać niektóre nowe dokumenty do listy dokumentów wybierając dokumenty łącze LibraryTools kartę u góry strony, a następnie wybierając Przekaż dokument przycisk na Wstążce narzędzie.
Po wysłaniu niektórych dokumentów wybierając wystąpienia przepływu pracy biblioteki łącze LibraryTools kartę u góry strony, a następnie wybierając Ustawienia biblioteki przycisk na Wstążce narzędzie.
W Ustawienia biblioteki dokumentów wybierz Ustawienia przepływu pracy łącze w uprawnienia i zarządzanie sekcji.
W Ustawienia przepływu pracy wybierz Dodaj przepływ pracy łącze.
W Dodaj przepływ pracy wybierz ExpenseReport - Workflow1 przepływu pracy, wprowadź nazwę dla przepływu pracy, takich jak ExpenseTest, a następnie wybierz polecenie Dalej przycisku.
Pojawi się formularz skojarzenie przepływu pracy.Służy do raportu wydatków kwota limitu.
W formularzu stowarzyszenia wprowadź 1000 do Automatycznego zatwierdzania Limit polu, a następnie wybierz Skojarzyć przepływu pracy przycisku.
Wybierz domu przycisk, aby powrócić do strony głównej programu SharePoint.
Wybierz Dokumenty udostępnione łącze na pasek szybkiego uruchamiania.
Wybierz jedną z przekazanymi dokumentami, aby wyświetlić strzałkę rozwijania, wybierz go i wybierz polecenie przepływów pracy element.
Wybierz obraz obok ExpenseTest, aby wyświetlić formularz inicjowania przepływu pracy.
W Ogółem Koszt pola tekstowego, wprowadź wartość, która jest większa niż 1000, a następnie wybierz Uruchomić przepływ pracy przycisk.
Gdy zgłoszonych wydatków przekracza kwotę przydzielonych wydatków, zadanie jest dodawany do listy zadań.Kolumna o nazwie ExpenseTest z wartością zakończone jest również dodawane do pozycji raportu wydatków na liście dokumenty udostępnione.
Powtórz kroki od 11-13 z innych dokumentów na liście dokumenty udostępnione.(Dokładna liczba dokumentów nie jest ważne).
Wyświetl stronę podsumowania aplikacji raport wydatków otwierając następujący adres URL w przeglądarce sieci Web: http://SystemName/_layouts/ExpenseReport/ApplicationPage1.aspx.
Strony Podsumowanie raportu wydatków zawiera wszystkie raporty z wydatków, które przekroczona zaalokowana kwota, kwota, jaką one przekroczone go przez i suma wszystkich raportów.
Następne kroki
Aby uzyskać więcej informacji o stronach aplikacji SharePoint, zobacz Tworzenie stron aplikacji dla programu SharePoint.
Więcej można znaleźć informacje dotyczące projektowania zawartości strony programu SharePoint przy użyciu wizualny Projektant sieci Web w programie Visual Studio z tych tematów:
Zobacz też
Zadania
Instruktaż: Tworzenie przepływu pracy z stowarzyszenia i formularze inicjacji
Jak: tworzenie aplikacji, strona