- •About the Authors
- •Contents at a Glance
- •Contents
- •Introduction
- •Goal of the Book
- •How to Use this Book
- •Introduction to the .NET Framework
- •Common Language Runtime (CLR)
- •Class Library
- •Assembly
- •Versioning
- •Exceptions
- •Threads
- •Delegates
- •Summary
- •Introduction to C#
- •Variables
- •Initializing Variables
- •Variable Modifiers
- •Variable Data Types
- •Types of Variables
- •Variable Scope
- •Types of Data Type Casting
- •Arrays
- •Strings
- •Initializing Strings
- •Working with Strings
- •Statements and Expressions
- •Types of Statements
- •Expressions
- •Summary
- •Classes
- •Declaring Classes
- •Inheritance
- •Constructors
- •Destructors
- •Methods
- •Declaring a Method
- •Calling a Method
- •Passing Parameters to Methods
- •Method Modifiers
- •Overloading a Method
- •Namespaces
- •Declaring Namespaces
- •Aliases
- •Structs
- •Enumerations
- •Interfaces
- •Writing, Compiling, and Executing
- •Writing a C# Program
- •Compiling a C# Program
- •Executing a C# Program
- •Summary
- •Arrays
- •Single-Dimensional Arrays
- •Multidimensional Arrays
- •Methods in Arrays
- •Collections
- •Creating Collections
- •Working with Collections
- •Indexers
- •Boxing and Unboxing
- •Preprocessor Directives
- •Summary
- •Attributes
- •Declaring Attributes
- •Attribute Class
- •Attribute Parameters
- •Default Attributes
- •Properties
- •Declaring Properties
- •Accessors
- •Types of Properties
- •Summary
- •Introduction to Threads
- •Creating Threads
- •Aborting Threads
- •Joining Threads
- •Suspending Threads
- •Making Threads Sleep
- •Thread States
- •Thread Priorities
- •Synchronization
- •Summary
- •Case Study
- •Project Life Cycle
- •Analyzing Requirements
- •High-Level Design
- •Primary and Foreign Keys
- •Referential Integrity
- •Normalization
- •Designing a Database
- •Low-Level Design
- •Construction
- •Integration and Testing
- •User Acceptance Testing
- •Implementation
- •Operations and Maintenance
- •Summary
- •Creating a New Project
- •Console Application
- •Windows Applications
- •Creating a Windows Application for the Customer Maintenance Project
- •Creating an Interface for Form1
- •Creating an Interface for WorkerForm
- •Creating an Interface for CustomerForm
- •Creating an Interface for ReportsForm
- •Creating an Interface for JobDetailsForm
- •Summary
- •Performing Validations
- •Identifying the Validation Mechanism
- •Using the ErrorProvider Control
- •Handling Exceptions
- •Using the try and catch Statements
- •Using the Debug and Trace Classes
- •Using the Debugging Features of Visual Studio .NET
- •Using the Task List
- •Summary
- •Creating Form1
- •Connecting WorkerForm to the Workers Table
- •Connecting CustomerForm to the tblCustomer Table
- •Connecting the JobDetails Form
- •to the tblJobDetails Table
- •Summary
- •Introduction to the Crystal Reports Designer Tool
- •Creating the Reports Form
- •Creating Crystal Reports
- •Creating the Windows Forms Viewer Control
- •Creating the Monthly Worker Report
- •Summary
- •Introduction to Deploying a Windows Application
- •Deployment Projects Available in Visual Studio .NET
- •Deployment Project Editors
- •Summary
- •Case Study
- •Project Life Cycle
- •Analyzing Requirements
- •High-Level Design
- •Low-Level Design
- •Summary
- •Populating the TreeView Control
- •Displaying Employee Codes in the TreeView Control
- •Event Handling
- •Displaying Employee Details in the ListView Control
- •Summary
- •Case Study
- •Project Life Cycle
- •Analyzing Requirements
- •High-Level Design
- •Low-Level Design
- •Summary
- •Adding the Programming Logic to the Application
- •Adding Code to the Form Load() Method
- •Adding Code to the OK Button
- •Adding Code to the Exit Button
- •Summary
- •The Created Event
- •Adding Code to the Created Event
- •Overview of XML
- •The XmlReader Class
- •The XmlWriter Class
- •Displaying Data in an XML Document
- •Displaying an Error Message in the Event Log
- •Displaying Event Entries from Event Viewer
- •Displaying Data from the Summary.xml Document in a Message Box
- •Summary
- •Airline Profile
- •Role of a Business Manager
- •Role of a Network Administrator
- •Role of a Line-of-Business Executive
- •Project Requirements
- •Creation and Deletion of User Accounts
- •Addition of Flight Details
- •Reservations
- •Cancellations
- •Query of Status
- •Confirmation of Tickets
- •Creation of Reports
- •Launch of Frequent Flier Programs
- •Summarizing the Tasks
- •Project Design
- •Database Design
- •Web Forms Design
- •Enabling Security with the Directory Structure
- •Summary
- •Getting Started with ASP.NET
- •Prerequisites for ASP.NET Applications
- •New Features in ASP.NET
- •Types of ASP.NET Applications
- •Exploring ASP.NET Web Applications
- •Introducing Web Forms
- •Web Form Server Controls
- •Configuring ASP.NET Applications
- •Configuring Security for ASP.NET Applications
- •Deploying ASP.NET Applications
- •Creating a Sample ASP.NET Application
- •Creating a New Project
- •Adding Controls to the Project
- •Coding the Application
- •Summary
- •Creating the Database Schema
- •Creating Database Tables
- •Managing Primary Keys and Relationships
- •Viewing the Database Schema
- •Designing Application Forms
- •Standardizing the Interface of the Application
- •Common Forms in the Application
- •Forms for Network Administrators
- •Forms for Business Managers
- •Forms for Line-of-Business Executives
- •Summary
- •The Default.aspx Form
- •The Logoff.aspx Form
- •The ManageUsers.aspx Form
- •The ManageDatabases.aspx Form
- •The ChangePassword.aspx Form
- •Restricting Access to Web Forms
- •The AddFl.aspx Form
- •The RequestID.aspx Form
- •The Reports.aspx Form
- •The FreqFl.aspx Form
- •Coding the Forms for LOB Executives
- •The CreateRes.aspx Form
- •The CancelRes.aspx Form
- •The QueryStat.aspx Form
- •The ConfirmRes.aspx Form
- •Summary
- •Designing the Form
- •The View New Flights Option
- •The View Ticket Status Option
- •The View Flight Status Option
- •The Confirm Reservation Option
- •Testing the Application
- •Summary
- •Locating Errors in Programs
- •Watch Window
- •Locals Window
- •Call Stack Window
- •Autos Window
- •Command Window
- •Testing the Application
- •Summary
- •Managing the Databases
- •Backing Up the SkyShark Airlines Databases
- •Exporting Data from Databases
- •Examining Database Logs
- •Scheduling Database Maintenance Tasks
- •Managing Internet Information Server
- •Configuring IIS Error Pages
- •Managing Web Server Log Files
- •Summary
- •Authentication Mechanisms
- •Securing a Web Site with IIS and ASP.NET
- •Configuring IIS Authentication
- •Configuring Authentication in ASP.NET
- •Securing SQL Server
- •Summary
- •Deployment Scenarios
- •Deployment Editors
- •Creating a Deployment Project
- •Adding the Output of SkySharkDeploy to the Deployment Project
- •Deploying the Project to a Web Server on Another Computer
- •Summary
- •Organization Profile
- •Project Requirements
- •Querying for Information about All Books
- •Querying for Information about Books Based on Criteria
- •Ordering a Book on the Web Site
- •Project Design
- •Database Design
- •Database Schema
- •Web Forms Design
- •Flowcharts for the Web Forms Modules
- •Summary
- •Introduction to ASP.NET Web Services
- •Web Service Architecture
- •Working of a Web Service
- •Technologies Used in Web Services
- •XML in a Web Service
- •WSDL in a Web Service
- •SOAP in a Web Service
- •UDDI in a Web Service
- •Web Services in the .NET Framework
- •The Default Code Generated for a Web Service
- •Testing the SampleWebService Web Service
- •Summary
- •Creating the SearchAll() Web Method
- •Creating the SrchISBN() Web Method
- •Creating the AcceptDetails() Web Method
- •Creating the GenerateOrder() Web Method
- •Testing the Web Service
- •Securing a Web Service
- •Summary
- •Creating the Web Forms for the Bookers Paradise Web Site
- •Adding Code to the Web Forms
- •Summary
- •Case Study
- •Project Life Cycle
- •Analyzing Requirements
- •High-Level Design
- •Low-Level Design
- •Summary
- •Overview of Mobile Applications
- •The Microsoft Mobile Internet Toolkit
- •Overview of WAP
- •The WAP Architecture
- •Overview of WML
- •The Mobile Web Form
- •The Design of the MobileTimeRetriever Application
- •Creating the Interface for the Mobile Web Forms
- •Adding Code to the MobileTimeRetriever Application
- •Summary
- •Creating the Forms Required for the MobileCallStatus Application
- •Creating the frmLogon Form
- •Creating the frmSelectOption Form
- •Creating the frmPending Form
- •Creating the frmUnattended Form
- •Adding Code to the Submit Button in the frmLogon Form
- •Adding Code to the Query Button in the frmSelectOption Form
- •Adding Code to the Mark checked as complete Button in the frmPending Form
- •Adding Code to the Back Button in the frmPending Form
- •Adding Code to the Accept checked call(s) Button in the frmUnattended Form
- •Adding Code to the Back Button in the frmUnattended Form
- •Summary
- •What Is COM?
- •Windows DNA
- •Microsoft Transaction Server (MTS)
- •.NET Interoperability
- •COM Interoperability
- •Messaging
- •Benefits of Message Queues
- •Limitations
- •Key Messaging Terms
- •Summary
- •Pointers
- •Declaring Pointers
- •Types of Code
- •Implementing Pointers
- •Using Pointers with Managed Code
- •Working with Pointers
- •Compiling Unsafe Code
- •Summary
- •Introduction to the Languages of Visual Studio .NET
- •Visual C# .NET
- •Visual Basic .NET
- •Visual C++ .NET
- •Overview of Visual Basic .NET
- •Abstraction
- •Encapsulation
- •Inheritance
- •Polymorphism
- •Components of Visual Basic .NET
- •Variables
- •Constants
- •Operators
- •Arrays
- •Collections
- •Procedures
- •Arguments
- •Functions
- •Adding Code to the Submit Button
- •Adding Code to the Exit Button
- •Summary
- •Introduction to Visual Studio .NET IDE
- •Menu Bar
- •Toolbars
- •Visual Studio .NET IDE Windows
- •Toolbox
- •The Task List Window
- •Managing Windows
- •Customizing Visual Studio .NET IDE
- •The Options Dialog Box
- •The Customize Dialog Box
- •Summary
- •Index
CRYSTAL REPORTS |
Chapter 11 |
241 |
|
|
|
|
|
Creating the Reports Form
The Reports form contains four radio buttons. Clicking on any radio button generates the corresponding report. To add functionality to these radio buttons, perform the following steps:
1.Double-click on the first radio button to open the code window.
On selecting this radio button, a user should be able to view the ConsumableForm form that contains the report of the consumable products used in a month.
2.To display the ConsumableForm form, add the following code to the
CheckedChanged event of radioButton1.
private void radioButton1_CheckedChanged(object sender, System.EventArgs e)
{
ConsumableForm newForm = new ConsumableForm(); newForm.Show();
this.Hide();
}
The previous code displays ConsumableForm when the user selects the first radio button. However, you have not yet created the crystal report. The following section discusses how to create cr ystal reports.
Creating Crystal Reports
As discussed earlier, Visual Studio .NET provides you with the Crystal Report Gallery that consists of several standard wizards called Report Experts. These Report Experts enable you to create crystal reports easily and efficiently. The Crystal Report Gallery also provides you with the option of creating a crystal report by using a blank report or an existing report. In this section, you will learn to create a crystal report by using Report Expert. To open the Crystal Report Gallery, perform the following steps:
1.In the Solution Explorer window, right-click the name of the project, Customer Maintenance Project.
2.From the displayed list, point to the Add option and then select the Add New Item option.
The Add New Item dialog box is displayed.
242Project 1 CREATING A CUSTOMER MAINTENANCE PROJECT
3.In the Templates: pane of the Add New Item dialog box, select the Crystal Report icon.
4.In the Name: text box, type ConsumablesReport.rpt as the name and click on the Open button.
The Crystal Report Gallery dialog box is displayed.
5.In the Create a Crystal Report Document group box, select the Using the Report Expert radio button.
You can select the As a Blank Report or the From an Existing Report radio button to create a crystal report by using a blank template or an existing template, respectively.
As discussed earlier, the Crystal Report Gallery provides you with several Report Experts. The following section discusses various Report Experts provided by the Crystal Report Galler y.
The Report Experts Provided by the Crystal Report Gallery
The Report Experts in Visual Studio .NET allow you to create reports with different formats. Figure 11-1 shows the Crystal Report Gallery dialog box containing various Report Experts.
FIGURE 11-1 The Crystal Report Galle ry dialog box
CRYSTAL REPORTS |
Chapter 11 |
|
243 |
|
|
||||
|
|
|
|
|
Table 11-1 lists various Report Experts in the Crystal Report Gallery dialog box.
Table 11-1 The Report Experts
Report Experts |
Description |
Standard |
You can use Standard Report Expert to create a typical report. |
Form Letter |
You can use Form Letter Report Expert to create a report that contains |
|
customer information in addition to the standard text. |
Form |
You can use Form Report Expert to create a report in the form of a let- |
|
terhead that contains the logo of the organization. |
Cross-Tab |
You can use Cross-Tab Report Expert to create a summary of a report |
|
in the form of a grid. |
Subreport |
You can use Subreport Report Expert to create another report as a part |
|
of the main report. |
Mail Label |
You can use Mail Label Report Expert to create a report that contains |
|
multiple columns. |
Drill Down |
You can use D rill Down Report Expert to create a report that contains |
|
a summary created by extracting the available information. |
|
|
TIP
You can see a preview of various Report Experts in the Preview window.
Creating Crystal Reports Using
the Standard Report Expert
In this section, you will be creating a crystal report by using a Standard Report Expert. The next steps continue with the procedure for creating reports.
6.In the Choose an Expert group box of the Crystal Report Gallery dialog box, select the Standard option and click on the OK button.
The Data tab of Standard Report Expert is displayed.
244Project 1 CREATING A CUSTOMER MAINTENANCE PROJECT
7.Click on the plus (+) sign adjacent to the OLE DB [ADO] option.
The OLE DB (ADO) dialog box is displayed. Alternatively, you can double-click on the OLE DB [ADO] option to open the OLE DB (ADO) dialog box.
8.In the OLE DB Provider page, select the Microsoft OLE DB Provider for SQL Server option and click on the Next button.
The Connection Information page is displayed. You use this page to enter information required to set up a connection with a data source.
9.In the Server: combo box, select the name of the server containing the database from the drop-down list.
You can also type the name of the server in the combo box. In this page, you can specify the authentication mode to connect to a SQL server.
10.Select the name of the database as CMS from the Database: combo box and click on the Finish button.
Standard Report Expert creates a connection with the CMS database.
11.Double-click on the CMS database to display a list of tables in the database.
12.Select the table tblJobDetails from the available list and click on the Insert Table button.
The tblJobDetails table is now displayed in the Tables in report: list.
13.Click on the Next button.
The Fields tab is displayed. This page contains a list of all the fields in the tblJobDetails table. You can select the fields that you want display in your report.
14.From the list of fields, select the JobDate, Tires, Weights, OilChanged,
OilFilter, GearOil, Point, Condenser, Plug, FuelFilter, and AirFilter
fields and click on the Add button.
The fields that you have selected appear in the Fields to Display: list. You can use the Up Arrow or Down Arrow buttons to increase or decrease the level of display of the fields.
The name of the field appears in the Column Heading: text box. You can edit the name of a field by selecting the field and changing the text in the Column Heading: text box.
CRYSTAL REPORTS |
Chapter 11 |
245 |
|
|
|
|
|
15.Click on the Next button to proceed.
The Group tab is displayed. This page contains information about the field that you want to use to group data. The records in the tblJobDetails table are sorted on the basis of the Group By: field.
16.From the Available Fields: list, select the JobDate field and click on the
Add button.
The JobDate field appears in the Group By: list. You can also specify the sort order of the records in the Sort Order: list box.
17.In the Break: list box, select the for each month option.
The records in the tblJobDetails table will be grouped for each month. This will help the user to view monthly data of the consumable items in the Monthly Consumables report.
18.Click on the Next button.
The Total tab of Standard Report Expert is displayed. In this page, you can select the fields for which you want to create summarized information. By default, all the fields are selected. You can either add or remove a field by selecting the field and clicking on the Add or Remove button, respectively. The Total tab provides you with a Summary Type: list box, which contains the items that you can select to display the type of summary information. Because you need to know the total number of products consumed within a specified month, choose the summary type Sum.
19.Check the Add Grand Totals check box and click on the Next button.
The Top N tab is displayed. You can specify the name of the field based on which one you want to sort the groups. This is optional information and you may choose to click on the Next button without specifying any information in this page.
20.Click on the Next button to display the Chart tab.
The Chart page provides you with several options for including a graph in your report.
21.Click on the Style button if you do not want to include a chart.
The Style tab is displayed. You can select the formatting style of the report and specify a title in this page. Standard Report Expert provides you with several formatting styles for displaying your report. You can see the preview of a style in the preview window.
246Project 1 CREATING A CUSTOMER MAINTENANCE PROJECT
22.In the Title: text box, type the name of the report as Consumable Report.
23.From the Style: list, select the Standard option and click on the Finish option to create the crystal report.
Figure 11-2 displays the report as created by the Crystal Report Galler y.
FIGURE 11-2 Consumable Report
If you want, you can make changes to the layout of the report. However, this report does not display the data. To make the data available to users, you need to host the crystal report by using a Windows Forms Viewer control.
Windows Forms Viewer Control
As discussed earlier, a Windows Forms Viewer control provides you with a means to host and display the data in a report. The Windows Forms Viewer control is available in the Windows Forms toolbox and can be included in a Windows form. Figure 11-3 shows a Windows Forms Viewer control.
CRYSTAL REPORTS |
Chapter 11 |
247 |
|
|
|
|
|
FIGURE 11-3 Windows Forms Viewer control
The left-hand pane of the Windows Forms Viewer control is a Field Explorer window that displays field values, the basis on which the data in the records is grouped. The right-hand pane is used to display the crystal report that you created. On top of the Windows Forms Viewer control is a toolbar containing several buttons that you can use to navigate, refresh, or print the report. Table 11-2 discusses the buttons in the toolbar of the Windows Forms Viewer control.
Table 11-2 Buttons in the Toolbar of the Windows Forms Viewer Control
Buttons |
Description |
Go to First Page |
A user can click on the Go to First Page button to view the first |
|
page, in case the report contains multiple pages of data. |
Go to Previous Page |
A user can click on the Go to Previous Page button to view the |
|
previous page. |
Go to Next Page |
A user can click on the Go to Next Page button to view the next |
|
page. |
Go to Last Page |
A user can click on the Go to Last Page button to view the last |
|
page. |
continues