Wskazówki: drukowanie faktury
Nie można drukować bezpośrednio z LightSwitch aplikacji, ale można stworzyć kontrolkę użytkownika dodatku Silverlight, który implementuje drukowania i dodać go do LightSwitch ekranu.W tym instruktażu przedstawiono sposób wydrukować fakturę, tworząc kontrolkę użytkownika technologii Silverlight i używać go jako niestandardowy formant w formularzu.
Tworzenie aplikacji LightSwitch
Najpierw należy utworzyć prosty LightSwitch aplikacji klienta i zamówienia podmioty i ekran listy i szczegóły, aby je wyświetlić.
Aby utworzyć aplikację
Na pasku menu wybierz Plik, Nowy, projekt.
W Nowy projekt okno dialogowe rozwiń LightSwitch węzła, a następnie wybrać jedną Aplikacji LightSwitch (Visual Basic) lub Aplikacji LightSwitch (Visual C#) szablonu.
W Nazwa tekst wprowadź LightSwitchInvoice, a następnie wybierz polecenie OK przycisk.
W Projektant LightSwitchInvoice okno, wybierz polecenie Utwórz nową tabelę łącze.
W Właściwości okna, należy ustawić wartość Nazwa właściwość, aby klienta.
W Projektancie jednostki wybrać < Dodaj właściwość > połączony, a następnie wprowadź Nazwa.
W typu kolumny, wybierz polecenie String typ danych.
Na pasku narzędzi, wybierz Nowa tabela przycisk.
W Właściwości okna, należy ustawić wartość Nazwa właściwość, aby zamówienia.
W Projektancie jednostki wybrać < Dodaj właściwość > połączony, a następnie wprowadź OrderItem.
W typu kolumny, wybierz polecenie String typ danych.
W Projektancie jednostki wybrać < Dodaj właściwość > połączony, a następnie wprowadź WielkooćZamówienia.
W typu kolumny, wybierz polecenie Money typ danych.
Na pasku narzędzi, wybierz relacji przycisk.
Pojawi się okno dialogowe Dodaj nową relację.
W do kolumna Nazwa wiersz, wybierz polecenie klienta, a następnie wybierz polecenie OK przycisk.
W Solution Explorer, otwórz menu skrótów dla Klienci, a następnie wybierz polecenie Otwórz.
W Projektancie jednostki wybrać < Dodaj właściwość > połączony, a następnie wprowadź OrderTotal.
W typu kolumny, wybierz polecenie Money typ danych.
W Właściwości okno select Jest obliczana pole wyboru, a następnie wybierz Metoda edytowania łącze.
W edytorze kodu, Dodaj następujący kod dla OrderTotal_Compute metoda:
result = (From items In Orders).Sum(Function(X) X.OrderAmount)
result = (from items in Orders select items).Sum(X => X.OrderAmount);
W Solution Explorer, otwórz menu skrótów dla ekrany, a następnie wybierz polecenie Dodaj ekran.
W Dodaj nowy ekran okno dialogowe Wybierz ekranu listy i szczegóły szablonu.
W Dane ekranu listy, wybierz polecenie Klienci.
Wybierz Zamówienia klienta pole wyboru, a następnie wybierz OK przycisk.
Na pasku menu wybierz Debugowanie, Rozpocznij debugowanie.
Na Klienci pasek narzędzi, wybierz polecenie Dodaj przycisk.
Dodaj nowe zamówienie pojawi się okno dialogowe.
W Nazwa tekst wprowadź Derek Snyder, a następnie wybierz polecenie OK przycisk.
Na zamówienia pasek narzędzi, wybierz polecenie Dodaj przycisk.
W Przedmiotu zamówienia tekst wprowadź młota.
W Wielkość zamówienia tekst wprowadź 9,95, a następnie wybierz polecenie OK przycisk.
Na zamówienia pasek narzędzi, wybierz polecenie Dodaj przycisk.
W Przedmiotu zamówienia tekst wprowadź paznokci.
W Wielkość zamówienia tekst wprowadź 4,50, a następnie wybierz polecenie OK przycisk.
Na aplikacji pasek narzędzi, wybierz polecenie zapisać, a następnie zamknij aplikację.
Utwórz formant użytkownika dodatku Silverlight
Następnie należy utworzyć formant użytkownika dodatku Silverlight, która zapewnia możliwości drukowania.
Aby utworzyć formant użytkownika
Na pasku menu, kliknij Plik, Dodaj, Nowy projekt.
W Nowy projekt okno dialogowe rozwiń albo języka Visual Basic lub Visual C# węzła, wybierz polecenie Silverlight węzła, a następnie wybierz polecenie Biblioteki klas technologii Silverlight szablonu.
W Nazwa tekst wprowadź recenzję PrintControl, a następnie wybierz polecenie OK przycisk.
W Dodać biblioteki klas technologii Silverlight okno dialogowe pole, upewnij się, że Silverlight 5 jest zaznaczone, a następnie wybierz OK przycisk.
W Solution Explorer, otwórz menu skrótów dla Class1.vb lub Class1.cs, a następnie wybierz polecenie usunąć.
Otwarcie menu skrótów dla recenzję PrintControl, wybierz polecenie Dodaj, a następnie wybierz polecenie Nowy element.
W Add New Item okno dialogowe Wybierz Kontrola użytkownika Silverlight szablonu.
W Nazwa tekst wprowadź faktury, a następnie wybierz polecenie OK przycisk.
Na pasku menu wybierz polecenie View, Przybornik.
W Przybornik okna, rozwiń węzeł Typowe formanty Silverlight węzeł, wybierz polecenie DataGrid kontrolować i dodać go do powierzchni projektowej.
W edytorze kodu Zastąp istniejący kod XAML następujący kod:
<UserControl xmlns="https://schemas.microsoft.com/winfx/2006/xaml/presentation" xmlns:x="https://schemas.microsoft.com/winfx/2006/xaml" xmlns:d="https://schemas.microsoft.com/expression/blend/2008" xmlns:mc="https://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:sdk="https://schemas.microsoft.com/winfx/2006/xaml/presentation/sdk" x:Class="PrintControl.Invoice" mc:Ignorable="d" d:DesignWidth="474" Height="278"> <StackPanel> <Button Content="Print" x:Name="btnPrint" Click="PrintButton_Click" /> <Border BorderThickness="1" BorderBrush="#FF504F4F"> <Grid x:Name="LayoutRoot"> <Grid.ColumnDefinitions> <ColumnDefinition Width="0.02*"/> <ColumnDefinition Width="0.2*"/> <ColumnDefinition Width="0.5*"/> <ColumnDefinition Width="0.1*"/> <ColumnDefinition Width="0.18*"/> </Grid.ColumnDefinitions> <Grid.RowDefinitions> <RowDefinition Height="0.053*"/> <RowDefinition Height="0.08*"/> <RowDefinition Height="0.533*"/> <RowDefinition Height="0.133*"/> <RowDefinition Height="0.2*"/> </Grid.RowDefinitions> <sdk:DataGrid ItemsSource="{Binding Screen.Orders, Mode=OneWay}" AutoGenerateColumns="False" Grid.Row="2" Grid.Column="1" Grid.ColumnSpan="2" > <sdk:DataGrid.Columns> <sdk:DataGridTextColumn Binding="{Binding OrderItem}" CanUserSort="True" DisplayIndex="0" Header="Order Item" MaxWidth="100" MinWidth="50" Visibility="Visible" Width="Auto"/> <sdk:DataGridTextColumn Binding="{Binding OrderAmount, StringFormat=C}" CanUserSort="True" DisplayIndex="1" Header="Order Amount" MaxWidth="100" MinWidth="50" Visibility="Visible" Width="Auto"/> </sdk:DataGrid.Columns> </sdk:DataGrid>
Ten kod XAML definiuje układ formantu.<sdk:DataGrid.Columns> Sekcja określa, co pojawi się w każdej kolumnie DataGrid (w tym wypadku OrderItem i OrderAmount pola z Customers encji).
Kontrola użytkownika powinien przypominać poniższy rysunek:
W Solution Explorer, rozwiń węzeł Invoice.xaml węzła, otwórz menu skrótów dla Invoice.xaml.vb lub Invoice.xaml.cs, a następnie wybierz polecenie Otwórz.
W edytorze kodu Zastąp istniejący kod następujący kod:
Imports System.Windows.Printing Partial Public Class Invoice Inherits UserControl Private WithEvents pd As PrintDocument Public Sub New() InitializeComponent() pd = New PrintDocument InvoiceDate.Text = DateTime.Today.ToShortDateString() End Sub Private Sub PrintButton_Click(ByVal sender As Object, _ ByVal e As RoutedEventArgs) pd.Print(String.Format("Invoice Date: {0}", DateTime.Today.ToShortDateString())) End Sub Private Sub pd_PrintPage(ByVal sender As Object, _ ByVal e As PrintPageEventArgs) Handles pd.PrintPage e.PageVisual = LayoutRoot End Sub End Class
using System.Windows.Printing; public partial class Invoice : UserControl { private PrintDocument withEventsField_pd; private PrintDocument pd { get { return withEventsField_pd; } set { if (withEventsField_pd != null) { withEventsField_pd.PrintPage -= pd_PrintPage; } withEventsField_pd = value; if (withEventsField_pd != null) { withEventsField_pd.PrintPage += pd_PrintPage; } } } public Invoice() { InitializeComponent(); pd = new PrintDocument(); InvoiceDate.Text = DateTime.Today.ToShortDateString(); } private void PrintButton_Click(object sender, RoutedEventArgs e) { pd.Print(string.Format("Invoice Date: {0}", DateTime.Today.ToShortDateString())); } private void pd_PrintPage(object sender, PrintPageEventArgs e) { e.PageVisual = LayoutRoot; } }
Na pasku menu wybierz polecenie budować, BuildSolution.
Zużywają kontrola użytkownika
Wreszcie, Dodaj formant użytkownika do LightSwitch ekranu i przetestować go.
Aby dodać formant użytkownika
W Solution Explorer, otwórz menu skrótów dla CustomersListDetail ekranu, a następnie wybierz Otwórz.
W Projektancie ekranu wybierz opcję Układ wierszy | Szczegóły klienta węzła.
Na pasku narzędzi, otwórz Dodaj element układu listy, a następnie wybierz Formant niestandardowy.
W Dodać formant niestandardowy okno dialogowe Wybierz Dodaj odwołanie przycisk.
W Reference Manager okno dialogowe rozwiń roztwór węzła, a następnie kliknij polecenie Wybierz recenzję PrintControl pole wyboru, a następnie wybierz OK przycisk.
W Dodać formant niestandardowy okno dialogowe rozwiń recenzję PrintControl wybrać węzły, faktury kontroli, a następnie wybierz OK przycisk.
W oknie dialogowym Edytor ekranu wybierz opcję formant niestandardowy | Sprawdzać treści węzła, a następnie przeciągnij go, tak że pojawi się siatki danych | Zamówienia węzła.
W Właściwości okna, należy ustawić wartość Nazwa właściwość, aby faktury.
W zmiany rozmiaru grupy, wybierz polecenie Stretch przyciski dla opcji Wyrównanie w poziomie i Wyrównanie w pionie.
Na pasku menu wybierz polecenie program Debug: polecenie, Start Debugging do uruchomienia aplikacji.
W uruchomionej aplikacji, wybierz polecenie wydruku przycisk.
Gdy system Windows wydruku pojawi się okno dialogowe, można wybrać drukarkę.