E-Book, Englisch, 264 Seiten
Ganz Pro Dynamic .NET 4.0 Applications
1. ed
ISBN: 978-1-4302-2520-1
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
Data-Driven Programming for the .NET Framework
E-Book, Englisch, 264 Seiten
ISBN: 978-1-4302-2520-1
Verlag: Apress
Format: PDF
Kopierschutz: 1 - PDF Watermark
As a developer you are likely painfully aware that not all features of an application can be anticipated when the software ships. In order to cope with these eventualities and save yourself time (and perhaps money), it makes sense to write your applications in such a way that end users can be made as independent of the developers as possible. Giving your users the power to make changes to the way the application operates once it has shipped gives them more control over the way the application works, while reducing the frequency with which you need to redistribute application files, creating a win-win situation. Pro Dynamic .NET 4.0 Applications explains how to give users the power to create additional data-entry fields, validation logic, and new reports without assistance from the application developer. You will learn how to do this for both desktop (C# and WPF) and web (ASP) applications.
Carl Ganz, Jr. is president of Seton Software Development, Inc., a provider of software design and development services located in Raritan, New Jersey. He holds a master's in business administration from Seton Hall University and is the author of three other books on software development as well as dozens of articles on Visual Basic, C#, and Microsoft .NET technology. Carl has created numerous solutions over the years using the Crystal Enterprise and BusinessObjects XI .NET and RAS SDKs. He is the president and founder of the New Jersey Visual Basic User Group and has been a featured speaker at software development conferences in both the U.S. and Germany. Carl and his wife, Wendy, live in Raritan with their son, Carl III, their dog, Elke, and their cats, Jack and Jake. Contact Carl at seton.software@verizon.net.
Autoren/Hrsg.
Weitere Infos & Material
1;Dedication Page;4
2;Contents at a Glance;5
3;Table of Contents;6
4;About the Author;10
5;About the Technical Reviewer;11
6;Acknowledgments;12
7;Introduction;13
8;Chapter 1: Introducing Data-Driven Programming;14
8.1;Database Metadata;15
8.1.1;SQL Server;15
8.1.2;WORKING WITH TABLE JOINS;16
8.1.3;Oracle;17
8.2;Practical Applications;19
8.3;Code Generation;22
8.3.1;Custom Code Generators;23
8.3.2;Using the CodeDOM;26
8.3.2.1;Namespaces, Classes, and Fields;26
8.3.2.2;Support Methods;30
8.3.2.3;Constants;34
8.3.2.4;Enums;35
8.3.2.5;Properties;36
8.3.2.6;Methods;37
8.3.2.7;Constructors;40
8.3.2.8;Source Code;40
8.4;Summary;41
9;Chapter 2: Reflection;42
9.1;Instantiating Classes;42
9.1.1;Loading Shared Assemblies;44
9.1.2;Examining Classes;45
9.1.2.1;Methods;46
9.1.2.2;Fields;48
9.1.2.3;Properties;50
9.1.2.4;Interfaces;51
9.1.2.5;Constructors;52
9.1.2.6;Events;53
9.2;Drilling Down into Assembly Objects;54
9.2.1;Building an Object Hierarchy;54
9.2.2;Importing Control Definitions;58
9.3;Decompiling Source Code;65
9.4;Summary;70
10;Chapter 3: Runtime Code Compilation;71
10.1;System.CodeDom.Compiler Namespace;71
10.1.1;Compiling the Code;73
10.1.2;Error Handling;75
10.1.3;Executing the Code;78
10.2;Referencing Controls on Forms;80
10.3;SIMPLIFYING THINGS FOR THE USER;82
10.4;Adding References;82
10.5;Testing;87
10.6;Summary;87
11;Chapter 4: Dynamic WinForms;88
11.1;Instantiating Forms;88
11.2;Using Third-Party Controls?;92
11.3;Wiring Events;92
11.4;SuspendLayout and ResumeLayout;93
11.5;Loading Control Definitions;94
11.5.1;Loading from XML;95
11.5.2;Loading from a Table;97
11.5.3;Connecting Event Code;101
11.6;Practical Solutions;103
11.6.1;Building a Filter Screen;103
11.6.1.1;Saving the User Selections;104
11.6.1.2;Restoring the User Selections;108
11.6.2;Saving Grid Settings;110
11.6.3;Data-Driven Menus;114
11.6.3.1;Application Menus;115
11.6.3.2;Most Recently Used File Menu;119
11.7;Creating Criteria Screens;121
11.7.1;Dynamic Criteria Controls;121
11.7.2;Cascading Prompts;126
11.7.3;Extracting the User Selections;128
11.8;Summary;133
12;Chapter 5: Dynamic ASP.NET;134
12.1;Instantiating Web Controls;134
12.1.1;Understanding the Page Life Cycle;138
12.1.2;Using HTML Tables;144
12.1.3;Absolute vs. Static Positioning;145
12.1.4;ParseControl;148
12.1.5;Instantiating User Controls;150
12.1.6;Repeater Controls;154
12.2;Practical Solutions;158
12.2.1;Dynamic Criteria Controls;158
12.2.2;Extracting the User Selections;163
12.3;Summary;164
13;Chapter 6: Dynamic WPF;165
13.1;XAML;165
13.2;WPF: Beyond the Hype;165
13.3;Layout;167
13.3.1;Canvas;168
13.3.2;Grid;170
13.3.3;StackPanel;172
13.3.4;WrapPanel;174
13.3.5;DockPanel;176
13.4;Runtime Instantiation;178
13.4.1;Accessing Child Controls;181
13.4.2;Nested Controls;182
13.5;XamlWriter/XamlReader;185
13.5.1;Persisting Objects;186
13.5.2;IsAncestorOf/IsDescendantOf;187
13.6;Wiring Events;189
13.7;Data-Driven .Menus;190
13.8;Summary;192
14;Chapter 7: Reporting;193
14.1;SQL Server Extended Properties;193
14.2;Microsoft Excel;199
14.3;Formatting in a Stored Procedure;200
14.3.1;Syncfusion’s Essential XlsIO;201
14.3.2;SoftArtisans’ OfficeWriter for Excel;204
14.4;PDF;207
14.4.1;iTextSharp;207
14.4.2;Syncfusion’s Essential PDF;210
14.5;SAP/Business Objects: Crystal Reports;212
14.5.1;Embedded vs. Nonembedded Reports;212
14.5.2;Dynamic Crystal Reports;212
14.5.2.1;Preset Columns;212
14.5.2.2;Using the Crystal SDK;215
14.6;SQL Server Reporting Services;220
14.6.1;Using RDL;220
14.6.2;Dynamic Rdl;222
14.7;Summary;226
15;Chapter 8: Database Design;227
15.1;Data Storage;227
15.2;Committing Data to the Database;231
15.3;Using Inverted Tables;235
15.3.1;Structuring Inverted Data;235
15.3.2;Extracting Inverted Data;237
15.3.3;Converting Inverted Data to a Normalized Structure;239
15.3.4;Mixing Normalized and Inverted Tables;242
15.4;Summary;245
16;Index;246




