Udostępnij za pośrednictwem


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:

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

  1. Ładowanie zakończone projektu z tematu Instruktaż: Tworzenie przepływu pracy z stowarzyszenia i formularze inicjacji do Visual Studio.

  2. Otwórz kod dla Workflow1.cs lub Workflow1.vb (w zależności od języka programowania).

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

  1. Wybierz projekt ExpenseReport, a następnie na pasku menu wybierz projektu, Dodaj nowy element.

  2. W szablonów okienku wybierz Strony aplikacji szablonu, użyj nazwy domyślnej dla elementu projektu (ApplicaitonPage1.aspx) i wybierz polecenie Dodaj przycisku.

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

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

  1. Wybierz ApplicationPage1.aspx węzeł, a następnie na pasku menu wybierz widoku, kodu do wyświetlania kodu strony aplikacji.

  2. 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;
    
  3. 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());
    }
    
    Informacje dotyczące przestrogiPrzestroga

    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

  1. Wybierz klawisz F5, aby uruchomić i wdrażanie projektu w programie SharePoint.

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

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

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

  5. W Ustawienia biblioteki dokumentów wybierz Ustawienia przepływu pracy łącze w uprawnienia i zarządzanie sekcji.

  6. W Ustawienia przepływu pracy wybierz Dodaj przepływ pracy łącze.

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

  8. W formularzu stowarzyszenia wprowadź 1000 do Automatycznego zatwierdzania Limit polu, a następnie wybierz Skojarzyć przepływu pracy przycisku.

  9. Wybierz domu przycisk, aby powrócić do strony głównej programu SharePoint.

  10. Wybierz Dokumenty udostępnione łącze na pasek szybkiego uruchamiania.

  11. Wybierz jedną z przekazanymi dokumentami, aby wyświetlić strzałkę rozwijania, wybierz go i wybierz polecenie przepływów pracy element.

  12. Wybierz obraz obok ExpenseTest, aby wyświetlić formularz inicjowania przepływu pracy.

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

  14. 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).

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

Inne zasoby

Tworzenie stron aplikacji dla programu SharePoint

Tworzenie rozwiązań dla programu SharePoint