Postupy: Tisk faktury
Nelze tisknout přímo z LightSwitch aplikace, ale můžete vytvářet uživatelské ovládací prvky programu Silverlight, která implementuje tisk a přidejte jej do LightSwitch obrazovky.Tento návod ukazuje, jak vytisknout fakturu vytvořením Silverlight uživatelského ovládacího prvku a jeho použití jako vlastní ovládací prvek ve formuláři.
Vytvořit aplikaci LightSwitch
Nejprve je třeba vytvořit jednoduchou LightSwitch aplikace s entitami zákazníky a objednávky a na obrazovce seznam a podrobnosti k jejich zobrazení.
Vytvoření aplikace
V panelu nabídek zvolte Soubor, Nový, Projekt.
V Nový projekt dialogové okno pole, rozbalte položku LightSwitch uzlu a pak zvolte buď LightSwitch aplikace (Visual Basic) nebo LightSwitch aplikace (Visual C#) šablony.
V jméno text zadejte LightSwitchInvoicea pak zvolte OK tlačítko.
V LightSwitchInvoice Designer okna, zvolte Vytvořit novou tabulku odkaz.
V Vlastnosti okno, nastavte hodnotu jméno vlastnost zákazníka.
V návrháři entit, zvolte <AddProperty> odkaz a potom zadejte jméno.
V typu sloupec, zvolte String datového typu.
Na panelu nástrojů zvolte Nové tabulky tlačítko.
V Vlastnosti okno, nastavte hodnotu jméno vlastnost pořadí.
V návrháři entit, zvolte <AddProperty> odkaz a potom zadejte OrderItem.
V typu sloupec, zvolte String datového typu.
V návrháři entit, zvolte <AddProperty> odkaz a potom zadejte VelikostObjednávky.
V typu sloupec, zvolte Money datového typu.
Na panelu nástrojů zvolte vztahu tlačítko.
Zobrazí se dialogové okno Přidat novou relaci.
V na sloupec název řádku, zvolte zákazníkaa pak zvolte OK tlačítko.
V Průzkumníku, otevřete místní nabídku pro Zákaznícia pak zvolte otevřete.
V návrháři entit, zvolte <AddProperty> odkaz a potom zadejte paměťové ObjednávkaCelkem.
V typu sloupec, zvolte Money datového typu.
V Vlastnosti okno, vyberte Je vypočítán políčko a pak zvolte Upravit metodu odkaz.
V editoru kódu přidejte následující kód OrderTotal_Compute metoda:
result = (From items In Orders).Sum(Function(X) X.OrderAmount)
result = (from items in Orders select items).Sum(X => X.OrderAmount);
V Průzkumníku, otevřete místní nabídku pro obrazovkya pak zvolte Přidat obrazovky.
V Přidat nová obrazovka dialogové okno pole, zvolte seznam a podrobnosti obrazovky šablony.
V Obrazovky Data seznam, zvolte Zákazníci.
Vyberte Objednávek zákazníků políčko a pak zvolte OK tlačítko.
V panelu nabídek zvolte Ladit, Spustit ladění.
Na Zákazníci nástrojů, zvolte Přidat tlačítko.
Přidat novou objednávku zobrazí se dialogové okno.
V jméno text zadejte Derek Snydera pak zvolte OK tlačítko.
Na objednávky nástrojů, zvolte Přidat tlačítko.
V Objednávka zboží text zadejte kladiva.
V Částka objednávky text zadejte 9.95a pak zvolte OK tlačítko.
Na objednávky nástrojů, zvolte Přidat tlačítko.
V Objednávka zboží text zadejte hřebíků.
V Částka objednávky text zadejte 4.50a pak zvolte OK tlačítko.
Na aplikace nástrojů, zvolte Uložita potom ukončete aplikaci.
Vytvořit ovládací prvek uživatele programu Silverlight
Dále vytvoříte uživatelský ovládací prvek programu Silverlight, který poskytuje možnosti tisku.
K vytvoření uživatelského ovládacího prvku
Na panelu nabídky vyberte možnosti Soubor, Přidat, Nový projekt.
V Nový projekt dialogové okno okně rozbalte buď jazyka Visual Basic nebo Visual C# uzel, zvolte programu Silverlight uzlu a pak zvolte Knihovna tříd Silverlight šablony.
V jméno text zadejte PrintControla pak zvolte OK tlačítko.
V Přidat knihovnu tříd Silverlight dialogové okno pole, ujistěte se, že programu Silverlight 5 je zaškrtnuto a potom zvolte OK tlačítko.
V Průzkumníku, otevřete místní nabídku pro Class1.vb nebo Class1.csa pak zvolte Odstranit.
Otevření místní nabídky pro PrintControl, zvolte Přidata pak zvolte Nová položka.
V Přidat novou položku dialogové okno pole, zvolte Uživatelský ovládací prvek programu Silverlight šablony.
V jméno text zadejte fakturya pak zvolte OK tlačítko.
V řádku nabídek zvolte zobrazení, nástrojů.
V nástrojů okno, rozbalte Běžné ovládací prvky programu Silverlight uzel, zvolte DataGrid ovládacího prvku a přidat na návrhovou plochu.
V editoru kódu nahraďte existující kód jazyka XAML následujícím kódem:
<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>
Tento kód jazyka XAML definuje rozložení ovládacího prvku.<sdk:DataGrid.Columns> Oddílu určuje, co se objeví v každém ze sloupců DataGrid (v tomto případě OrderItem a OrderAmount pole z Customers entity).
Uživatelský ovládací prvek, měl by vypadat jako na následujícím obrázku:
V Průzkumníku, rozbalte Invoice.xaml uzel, otevřete místní nabídku pro Invoice.xaml.vb nebo Invoice.xaml.csa pak zvolte otevřete.
V editoru kódu nahraďte existující kód následujícím kódem:
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; } }
V řádku nabídek zvolte sestavení, BuildSolution.
Využívat uživatelský ovládací prvek
Nakonec přidejte uživatelskému ovládacímu prvku LightSwitch na obrazovce a otestovat.
Chcete-li přidat uživatelský ovládací prvek
V Průzkumníku, otevřete místní nabídku pro CustomersListDetail na obrazovce a pak zvolte otevřete.
V Návrháři obrazovky, zvolte rozložení řádků | Informace o zákazníkovi uzlu.
Na panelu nástrojů otevřete Přidat položku rozložení seznam a pak zvolte Vlastní ovládací prvek.
V Přidat vlastní ovládací prvek dialogové okno pole, zvolte Přidat odkaz na tlačítko.
V Reference Manager dialogové okno pole, rozbalte položku řešení uzel, vyberte PrintControl políčko a pak zvolte OK tlačítko.
V Přidat vlastní ovládací prvek dialogové okno pole, rozbalte položku PrintControl uzly, zvolte faktury řízení a pak zvolte OK tlačítko.
V editoru obrazovce zvolte vlastní ovládací prvek | Obsah obrazovky uzlu a přetáhněte jej, takže jej datové mřížky | Objednávky uzlu.
V Vlastnosti okno, nastavte hodnotu jméno vlastnost faktury.
V pro změnu velikosti skupinu, zvolte Roztáhnout přepínačů pro Vodorovné zarovnání a Svislé zarovnání.
V řádku nabídek zvolte ladění, Spuštění ladění ke spuštění aplikace.
Spuštěné aplikace, zvolte Tisk tlačítko.
Pokud systému Windows Tisk zobrazí se dialogové okno, můžete zvolit tiskárnu.