Passo a passo: Adicionar uma página de aplicativo para um fluxo de trabalho.
Essa explicação passo a passo demonstra como adicionar uma página de aplicativo que exibe os dados derivados de um fluxo de trabalho a um projeto de fluxo de trabalho.Compila o projeto descrito no Passo a passo: Criando um fluxo de trabalho com formulários de iniciação e associação.
Essa explicação passo a passo demonstra as seguintes tarefas:
Adicionando uma página ASPX de aplicativo a um projeto de fluxo de trabalho do SharePoint.
Obtendo dados de projeto e de manipulá-lo de fluxo de trabalho.
Exibindo dados em uma tabela na página de aplicativo.
Observação |
---|
Seu computador pode mostrar nomes ou locais diferentes para alguns dos elementos da interface do usuário do Visual Studio nas instruções a seguir. A edição do Visual Studio que você possui e as configurações que você usa determinam esses elementos. Para obter mais informações, consulte Configurações de Visual Studio. |
Pré-requisitos
Para completar este passo-a-passo, são necessários os seguintes componentes:
Edições suportadas de Microsoft Windows e do SharePoint.Para mais informações, consulte Requisitos para o desenvolvimento de soluções do SharePoint.
O Visual Studio.
Você também precisará concluir o projeto no tópico Passo a passo: Criando um fluxo de trabalho com formulários de iniciação e associação.
Modificando o código de fluxo de trabalho
Primeiro, adicione uma linha de código para o fluxo de trabalho para definir o valor da coluna de resultado à quantidade de relatório de despesas.Esse valor é usado posteriormente no cálculo de resumo de relatório de despesas.
Para definir o valor da coluna de resultado no fluxo de trabalho
Carregar o projeto terminado do tópico Passo a passo: Criando um fluxo de trabalho com formulários de iniciação e associação em Visual Studio.
Abra o código para Workflow1.cs ou Workflow1.vb (dependendo da linguagem de programação).
Em a parte inferior do método de createTask1_MethodInvoking , adicione o seguinte código:
createTask1_TaskProperties1.ExtendedProperties("Outcome") = workflowProperties.InitiationData
createTask1_TaskProperties1.ExtendedProperties["Outcome"] = workflowProperties.InitiationData;
Criando uma página de aplicativo
Em seguida, adicionar um formulário ASPX ao projeto.Este formulário exibirá os dados obtidos do projeto de fluxo de trabalho do relatório de despesas.Para fazer isso, você adicionará uma página do aplicativo.Uma página de aplicativo usa a mesma página mestra que outras páginas do SharePoint, o que significa que se assemelhará para outras páginas no site do SharePoint.
Para adicionar uma página de aplicativo ao projeto
Escolha o projeto de ExpenseReport e, em seguida, na barra de menu, escolha Projeto, Adicionar novo item.
Em o painel de Modelos , escolha o modelo de página de aplicativo , use o nome padrão para o item de projeto (ApplicaitonPage1.aspx), e clique no botão Adicionar .
Em XML de ApplicationPage1.aspx, substitua a seção de PlaceHolderMain com o seguinte:
<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>
Este código adiciona uma tabela para a página como um título.
Adicione um título para a página de aplicativo substituindo a seção de PlaceHolderPageTitleInTitleArea com o seguinte:
<asp:Content ID="PageTitleInTitleArea" ContentPlaceHolderID="PlaceHolderPageTitleInTitleArea" runat="server" > Expense Report Summary </asp:Content>
Codificando a página de aplicativo
Em seguida, adicione o código para a página de aplicativo de resumo de relatório de despesas.Quando você abre a página, o código verifique a lista de tarefas no SharePoint para as despesas que excederam o limite de despesas atribuído.Listas de relatório cada item juntamente com a soma das despesas.
O código para a página de aplicativo
Escolha o nó de ApplicationPage1.aspx e, em seguida, na barra de menu, escolha Modo de Visualização, Código para exibir o código da página de aplicativo.
Substitua as declarações de using ou de Import (dependendo da linguagem de programação) na parte superior da classe com o seguinte:
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;
Adicione o seguinte código ao método de Page_Load :
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()); }
Cuidado Certifique-se de substituir “TestServer” no código com o nome de um servidor válido que está executando o SharePoint.
Testando a página de aplicativo
Em seguida, determina se a página de aplicativo exibe os dados de despesas corretamente.
Para testar a página de aplicativo
Escolha a tecla F5 para executar o e implantar o projeto ao SharePoint.
Escolha o botão Início , e então escolha o link de documentos compartilhados na barra de QuickLaunch para exibir documentos compartilhados listam no site do SharePoint.
Para representar os relatórios de despesa para esse exemplo, alguns novos carregar documentos em documentos listam escolhendo o link de Documentos na guia de LibraryTools na parte superior da página e então escolha o botão Carregar Documento em fita de ferramenta.
Depois que você carrega documentos, alguns instanciar o fluxo de trabalho escolhendo o link de Biblioteca na guia de LibraryTools na parte superior da página e então escolha o botão Configurações de biblioteca em fita de ferramenta.
Em a página de Configurações de biblioteca de documentos , escolha o link de Configurações de fluxo de trabalho na seção de permissões e gerenciamento .
Em a página de Configurações de fluxo de trabalho , escolha o link de Adicione um fluxo de trabalho .
Em a página de Adicione um fluxo de trabalho , escolha o fluxo de trabalho de ExpenseReport - Workflow1 , digite um nome para o fluxo de trabalho, como ExpenseTest, e então escolha o botão Avançar .
O formulário de associação de fluxo de trabalho aparece.Use para relatar a quantidade do limite de despesas.
Em o formulário de associação, entre em 1000 na caixa de Aprovação de associação automática , e então escolha o botão Fluxo de trabalho do associado .
Escolha o botão Início para retornar à página inicial do SharePoint.
Escolha o link de documentos compartilhados na barra de QuickLaunch.
Escolha um dos documentos carregados para exibir uma seta suspensa, escolha, e escolha o item de fluxos de trabalho .
Escolha a imagem ao lado do ExpenseTest para exibir o formulário de iniciação pelo fluxo de trabalho.
Em a caixa de texto de Total de despesas , insira um valor que é maior que 1000, e então escolha o botão Fluxo de trabalho de Início .
Quando um custo relatada excede a quantidade de despesas atribuída, uma tarefa é acrescentada à lista de tarefas.Uma coluna chamada ExpenseTest com o valor Concluído também é adicionada ao item de relatório de despesas na lista de documentos compartilhados.
Repita as etapas 11 - 13 com outros documentos na lista de documentos compartilhados.(O número exacto de documentos não é importante.)
Exibir a página de aplicativo de resumo de relatório de despesas abrindo o seguinte URL em um navegador da Web: http://SystemName/_layouts/ExpenseReport/ApplicationPage1.aspx.
O relatório de despesas a página de resumo lista todas as despesas relata que excedido a quantidade atribuída, a quantidade eles a excedeu por, e qualquer quantidade total para relatórios.
Próximas etapas
Para obter mais informações sobre páginas de aplicativo do SharePoint, consulte Criação de páginas de aplicativo para o SharePoint.
Você pode aprender mais sobre como criar conteúdo da página do SharePoint usando o designer visual Web no Visual Studio de esses tópicos:
Consulte também
Tarefas
Passo a passo: Criando um fluxo de trabalho com formulários de iniciação e associação
Como: criar uma página de aplicativo