Written from the ground-up in C# - the XtraGrid fully exploits and extends upon our many years of experience in building visual controls for the Windows(R) family of operating systems. It's a true no-compromise control, taking full advantage of the flexibility and power afforded to the development community via the .NET application framework.
At the heart of the XtraGrid lies a simple premise - to improve and enhance developer productivity. With a massive collection of advanced features, developers only need to specify simple property settings or write one line method calls to build cutting edge interfaces. Whether you use the XtraGrid in bound or unbound mode, you will be able to produce outstanding applications that far surpass your competition's efforts without any hassle or aggravation.
Overview
The following is a summary of the features available to you in the XtraGrid Suite, the must-have component library for .NET.
Data Specifics
Full ADO+ Support - The XtraGrid takes full advantage of ADO+. Using this data access architecture and the separation of internal data modules from data presentation, the XtraGrid does not use any extra buffers in any of its modes. Even when grouping columns, the XtraGrid will use a minimum of memory and perform the operation as fast as the data source can supply the data.
Support for Data Lists - The XtraGrid works with any source which supports the IList, ITypedList or IBindingList interface plus all inherited interfaces.
Unbound Columns - It's possible to combine bound and unbound data modes. Just add unbound columns and supply data via an event. End-users can edit the values within unbound columns and the changes can then be saved to a custom data source.
True Master-Detail Support - The XtraGrid allows you to establish and present master-detail information in either bound or unbound mode. You can even use the drill down mode to zoom into each detail level, allowing even the most complicated sets of relationships to be manipulated easily.
Server-side Data Management - The GridControl and GridLookUpEdit controls support a new data-binding mode, called Server Mode, which has been specifically designed to support large data sets (consisting of 50,000 records and even more). Loading data from a data store in small portions, when required, and performing all data-aware operations on the server side are the key features of this data binding that ensure quick access to data, even if the sorting, grouping, filtering and summary features are used. See Server Mode for more details.
Data Representation Specifics
View Based Architecture - Every level in the XtraGrid can be represented by a different View. The XtraGrid comes with five Views: Grid View that displays data using the standard row and column layout, Layout View that displays records as cards supporting multiple layouts, Card View that displays data records as cards using a simple layout, and Banded Grid View and Advanced Banded Grid View, that are similar to the Grid View, but support arranging columns into bands. Views can even be changed on the fly.
View Repository - You can create Views, and then assign them to particular levels as your needs dictate (at design time or runtime).
Multiple detail Views for Each Level - You can incorporate as many details Views into each level as you require. If more then one View is available at a level, users can select the desired View via selectable tool tips or tab controls.
Automatic Creation of detail Views for Properties Implementing the IList Interface - If a specific property in the grid's data source implements the IList interface, a detail View will be created automatically to display the contents of the list referenced by this property.
Displaying Only Predefined Master-Detail Relationships - It's possible to display all or only specific master-detail relationships from the data source.
In-place Editing
25+ Data Editors, which can be used as standalone or in-place within the XtraGrid.
Editor Repository - You can setup a single in-place editor, for instance a pick image edit, as an editor for a payment type field, and use it for as many grids as you wish. When you use the repository and you have to add a different credit card payment type, you need only change one in-place editor.
Multiple Editors per Column - The XtraGrid's flexibility is demonstrated by its ability to use different individual editors for the same column.
Views Specifics
Automatic Column Sorting for Any Datasource - With the XtraGrid, you can sort against an unlimited number of columns, without writing a single line of code.
Automatic Data Filtering for Any Datasource (Including IList) - Via its Excel(R) Style Filtering feature, you can filter data based upon the contents of a column. The filter expression is even displayed at the bottom, keeping your users informed of exactly what they are looking at. You can even create your own custom filter dialog to adapt the filtering feature to meet the needs of your end-users.
Sorting by Values and Display Text - For each column you can specify how the column's data should be sorted - by the edit values or displayed values. Moreover, the columns that use LookupEdit and ImageComboBox in-place editors are sorted by default by the displayed values, while other columns are sorted by edit values.
Custom Sorting - You can implement a custom sorting algorithm by handling a specific event.
Row's Visibility - Use an event to hide records or make them visible regardless of a View's filter.
Filter History - Views and columns support Filter History which allows end-users to apply the most recently used filter criteria to the values displayed within the grid.
Filter Editor - This embedded control provides advanced capabilities to create complex filter criteria for the grid control. Also, if you apply a filter to the grid in some other way, the Filter Editor will parse the criteria and present them in a well-structured form - as individual filter conditions combined by logical operators.
Custom Text for Cells via Events - You can provide custom display text for any column, and this will be used when printing or exporting the grid or when sorting by display text is applied against a column.
Single and Multiple Record Selection
Zooming Detail Views in Master-Detail Mode.
Grid View (and Descendants) Specifics
Automatic Data Grouping for Any Datasource - Allow your users to group the data stored in the XtraGrid against an unlimited number of columns, giving them an unprecedented ability to analyze and edit information.
Grouping by Intervals - When grouping against a column that stores date/time values the rows can be grouped by the date, month, or year part of the column's values, or in a more comprehensive manner (Today, Tomorrow, Sunday, Monday, Tuesday, Next Week, Next Month, Last Week, Last Month, ...).
Custom Grouping - The XtraGrid provides an event to implement custom grouping logic.
Full Data Summaries - Summaries allow you to present statistical information such as MIN, MAX, AVG, SUM, and COUNT directly in the grid itself, without having to resort to the age-old ugly work around of using an individual edit control. Even better: You can handle summary specific events to implement complex functions with ease. Standard deviation, and all sorts of other statistical formulas are now available.
Sorting Group Rows by Summary Values.
Fixed Column and Band Support - Designed to help data entry, this feature allows you to freeze columns and bands on the left or right side of the XtraGrid
Intelligent Column Resizing - With the AutoWidth and BestFit options, your end-users can manage and control the widths of columns as their needs dictate.
Cell Merging - With this feature enabled, cells with matching values in adjacent rows will be merged.
Custom Cell Merging - Just handle the event to control how cells are merged.
Preview Pane - With the preview pane, you can let your end-users View large text or memo fields directly in the Grid, without the need to open an external editor or drop-down window.
New Item Row - Using the New-Item row, you can provide consistent insert functionality for end-users. This row can be displayed at the top or bottom of a View.
Auto Filter Row - This allows end-users to filter data on the fly - by typing values directly within this row.
Row Separators - This feature allows you to fully control indentation between individual rows with a single property setting.
Custom Row Height and Runtime Row Resizing
Multiple Cell Selection Mode - Use the CTRL and SHIFT keys.
Incremental Searching - This allows end-users to locate information within the XtraGrid on the fly.
Runtime Column Customization - With the XtraGrid, your end-users can control the appearance of the grid as they wish, by adding and removing columns using drag and drop.
Multiple Data Scrolling Modes.
Joined Group Panel - With this feature, your end-users can group against any detail View without having to display the data grouping pane within the detail View itself.
Layout View Specifics
Multiple Card Layouts - One or multiple columns, one or multiple rows, carousel mode, etc.
Customizable Card Field Layouts
Support for Automatic Filtering and Sorting
Support for Multiple Card Selection.
Card Collapsing/Expanding
Card View Specifics
Support of Automatic Filtering and Sorting - End-users can apply filtering and sort order settings for Card Views via the Customize button.
Support of Multiple Selection of Cards.
Cards Can Be Expanded/Collapsed.
Card Field Visibility - End-users are able to specify the visibility of specific card fields via the Customize button.
Painting Specifics
Extended Look and Feel Support. Built-in XP Theme Support.
Various Paint Styles in Views (Office2003, Web, Flat, WindowsXP, Style3D, etc).
Skins Support - Skins will bring a striking look and feel to your applications, far beyond the normal painting standards.
Office 2003 Style for Group Rows.
Appearances - A powerful mechanism to control the entire look and feel of the grid. You can customize the appearance of almost any visual element of the XtraGrid, and even apply them conditionally to reflect certain states, such as errors. The XtraGrid ships with an easy to use Appearance editor.
Extended Gradient and AlphaBlending Support - With the XtraGrid, you can apply gradient and alpha blending to any grid element via the design time property settings.
Custom Draw - allows you to paint almost any of the XtraGrid's elements, as your needs dictate.
Design-Time
Advanced Design-Time Support - The XtraGrid provides an advanced design time editor and Level Designer that allow you to control virtually every aspect of the XtraGrid, without having to write a single line of code. Instead of writing code to manage the appearance, you can instead, concentrate on writing code to handle the really "interesting" tasks. Using Advanced design time support, you can manage such advanced features as levels, styles, columns, and summaries.
Assign Views from the Repository to Levels - In the Level Designer you can assign a specific View from the repository to a level. The View currently assigned to the level is not disposed of.
Feature Browser - This design-time facility provides a quick and intuitive interface to modify options which correspond to a specific feature. Use this browser to locate only those settings that affect a specific feature.
Advanced Appearance Designer - It's very easy to customize appearance settings for the grid with this designer. If you need to set the appearance of a specific element, simply click the required element in the Preview window, and the associated appearance objects will be displayed.
Design-time column/band selection - Not only can you select a column/band in the properties grid, but you can also select it directly in the XtraGrid at design time.
Design-Time Card Field Selection in Card Views.
Miscellaneous
Built-in Menus - Grid control menus let you put the power and flexibility of the XtraGrid at your user's finger tips by using a set of standard popup menus that you can enable or disable at will. With these popup menus, your end-users can invoke column customizations, apply sorting, grouping, and even create summaries.
Column Header and Cell Hint Support.
Embedded Data Navigator - The XtraGrid Suite allows you to include a built-in data navigator similar to the Microsoft(R) Access(R) data grid.
Custom Buttons in the Embedded Navigator - You can add custom buttons to the embedded navigator to implement custom functionality.
ErrorInfo Support - The XtraGrid supports the standard IDataErrorInfo interface.
Save and Load View Layouts - The XtraGrid allows you to save and load View layouts at both runtime and design time.
Export to TXT, HTML, XML and MS Excel (R) formats.
Printing (via the XtraPrinting Library).
Localization of Every Interface Element.
XtraBars™ Suite
The XtraBars library is a 100% C# library which provides a quick, easy and elegant way of adding bars and docking functionality to your .NET WinForms applications. XtraBars allows you to bring the user interface elements and application customization features introduced in MS Office and Windows XP to your .NET applications, easily and without any hassles. The XtraBars designers radically simplify the way in which you build the interface: operations such as creating and customizing bars and dock panels can be implemented without having to write a single line of code!
The main components you start to work with are the BarManager, DockManager and RibbonControl. Just drop them onto a form and they will give you all the necessary instruments to create toolbars, menus, bar items, dock panels and Ribbon interfaces. With XtraBars you can give your end-users the freedom to customize the layout of bars and dock panels, and the layout can be stored and restored from the registry, a stream or an XML file.
Centralized control over the appearance settings of bars, dock panels and RibbonControls is provided by the BarAndDockingController component. It allows you to make the XtraBars components look alike within multiple forms and to modify their look and feel by changing only a single property. XtraBars also supports paint schemes which allow you to change the appearance of all the bars in your application on the fly.
The following is a short summary of the features available to you in the XtraBars library:
Creating toolbars, menus, status bars and bar items right on the form - without having to activate the Designer.
Multiple bar item types - you can place push, check and Dropdown buttons, static text and different editors onto bars and menus. Specific bar items automatically manage the lists of available toolbars and MDI child windows.
Advanced Docking - With XtraBars, you can easily create multiple docking windows and add any control to the dock window itself - just like in the VS.NET IDE.
Support for the Microsoft® Office 2007 Ribbon Interface
Full support of MS Office 2000, Windows XP, OfficeXP and Office 2003 paint schemes. Support of the LookAndFeel technology introduced in other DevExpress .NET controls.
Extendable Paint schemes - you can create your own paint scheme to override default painting settings.
Customizing the appearance of individual bars and dock windows, changing the font settings of particular bar items.
Alpha blending and support for background images.
Various toolbar layouts - bars can be docked horizontally, vertically or can float. Arranging bar items within multiple rows is supported.
Full MDI Applications Support - XtraBars enables main menus belonging to child and parent MDI forms to be merged automatically. All other bars can be merged manually as your needs dictate.
Most recently used items - menus allow items which are rarely used to be hidden automatically.
Saving and restoring the layout of bars to the registry, stream or XML file. At design time, it is possible to save the layout of bars you create in one application to an XML file and then transfer it to another application, for instance.
Import existing MainMenus and ContextMenus.
Support for customizing the layout of bars by end-users. XtraBars allows you to enable "hot" customization. Hot customization is the ability of end-users to manipulate menus/bars without activating the customization dialog.
Localization of the interface's elements.
XtraPivotGrid™ Suite
A completely new product - designed from the ground-up - the XtraPivotGrid control is the ultimate tool for organizing and analyzing your business data. The control's main functionality is in its ability to summarize large amounts of information, and represent it in a cross-tabulated form. So, it is the best tool to create financial and statistical reports. For instance, you can analyze sales during specific periods (years, quarterly intervals, months) for each customer or each product category, or you can create a report which will show the top 10 customers, by items purchased . Another example is a report that displays the most or least popular products.
The XtraPivotGrid is an interactive control, as an end-user can easily reorganize the control's layout using drag-and-drop. As a result, the business data will be re-summarized according to the new layout of the column and row fields, so an end-user can easily alter a report to display the information they need in the way they need it.
Overview
The XtraPivotControl provides numerous built-in features that enable you to perform various data analysis tasks. Below is a list of essential features offered by the control.
Data Binding
Support for multiple data source types - full support for ADO+ and custom data sources that implement the IList interface. See Bind to a Data Source.
MS OLAP Support - You can use MS Analysis Services (OLAP) as a data source for the PivotGridControl. Use the PivotGridControl.OLAPConnectionString property to specify the connection string to an OLAP server.
Unbound fields - Bound fields get their data from the control's underlying data source, while unbound fields should be populated manually via the PivotGridControl.CustomUnboundFieldData event. So arbitrary data can be displayed and analyzed in the XtraPivotGrid control. See Add Unbound Data.
Working with data offline - It's possible to save the PivotGridControl's data and layout to a compressed file and use it later. For instance, sometimes end-users need to work with the PivotGridControl when no connection to the database exists. When a connection to the database exists, an end-user can save the PivotGridControl's data to a file. Then, when the connection isn't available it's possible to load the saved data and continue working with the PivotGridControl. See Working with PivotGridControl Offline for more details.
Data-Related Features
Automatic summary calculation for each cell - There are 9 summary functions available: Sum, Count, Min, Max, Average, Standard Deviation based upon a sample, Standard Deviation based upon the entire population, Variation based upon a sample and Variation based upon the entire population. See Data Cell Content.
Summary display modes - Instead of raw summary values, it's possible to show how the calculated values correlate to values in other cells. For instance, you can display the percentage of the totals and grand totals or the absolute or percentage difference between the current and preceding cells. See Summary Display Mode for details.
Custom summaries - You are not limited to using the standard summary functions. Custom summaries can be implemented via the PivotGridControl.CustomCellDisplayText and PivotGridControl.CustomSummary events. See Data Cell Content.
Any number of data fields - This feature allows you to calculate and display multiple summaries at the intersection of each column and row.
Automatic Total calculation - Totals (which are inserted as additional rows or columns) display total summaries calculated for outer column and row fields. See Totals and Grand Totals.
Automatic Grand Total calculation - Grand Totals display overall summary totals calculated against all the columns and rows. They are displayed as the bottommost rows or rightmost columns. See Totals and Grand Totals.
Multiple Totals - It's possible to calculate multiple Totals for specific column and row fields. Use the Custom Totals (Subtotals) feature to do this.
Grouping values into intervals - The values of column and row fields can be grouped into intervals. In this case multiple field values which have a specific matching value part will be congregated into a single item. For text fields, you can group values alphabetically (by the first character the values start with). For fields that display date/time data the values can be grouped by years, quarterly intervals, months, etc. See Group Values on Axes for details.
Multiple fields can be bound to the same data source field, and they group field values into different intervals.
Filtering data - This feature enables you to limit which records are processed by the XtraPivotGrid control. An end-user can easily change the filter at runtime via the Filter Dropdown. See Filter Data.
Automatic sorting of column and row field values in alphabetical order (for text data) and in order of magnitude (for numeric and date/time data). An end-user can change a field's sort order (from ascending to descending and vice versa) by clicking the field header. See Sort Data and Display Top N Values.
Sorting by summary values - The XtraPivotGrid control enables column and row field values to be sorted by total summary values. See Sort Data and Display Top N Values.
The Top X Values feature - Along with the Sorting By Summary feature it allows you to display the specified number of topmost values, therefore showing the most important information and ignoring the rest. See Sort Data and Display Top N Values.
Accessing records used to calculate summaries in particular cells - With a few lines of code you can display and browse these records in your favorite Grid control. Using the XtraGrid control to do this makes your application's look and feel consistent, as the XtraPivotGrid and XtraGrid controls share the same Painting library. See Get Underlying Data.
Layout Features
Any number of column and row fields - The values of column and row fields are listed along the top and right edge of the control and they identify the column and row headers. The values of multiple column (row) fields are arranged into a hierarchy, and can be expanded..
Linking fields - Fields can be combined into groups. Such fields cannot be separated and are treated as a group, so when an end-user drags one of the fields all the linked fields are dragged as well. See Field Groups.
Customizable position of data field headers. See Data Cell Layout.
Design-Time and Runtime Customization
Runtime sorting and filtering data.
Cell selection and copying to clipboard - An end-user can select a range of cells with the mouse, and then copy their contents by pressing the CTRL+C shortcut. The selected data is copied to the clipboard in the tab-separated format natively supported, for example, by Microsoft Excel. See Selecting Cells.
Dragging fields between different areas - End-users can freely drag field headers between different control areas. This gives them full control when analyzing the data.
Built-in Customization Form allows end-users to temporarily hide fields and make them visible again.
Built-in context menus provide access to the most commonly used features. See Field Header Context Menu, Field Value Context Menu and Header Area Context Menu.
Advanced Designer - This provides tools to manage fields, customize the display and print appearance settings, save and load the control's layout, etc.
On-form access to individual fields at design time. You can click a field header to display the corresponding field's properties and events within the Properties window.
Painting Specifics
Images in field headers and field value headers - It's possible to provide custom images to display in field headers and field value headers via the PivotGridField.ImageIndex property and PivotGridControl.FieldValueImageIndex event.
Customizable appearances for each element. See Appearance Customization.
Style conditions give you a simple and flexible method of specifying different styles for cells depending upon cell data. See Style Conditions Page.
Custom drawing - Each element can be painted manually. See Custom Draw.
Multiple paint styles support - The control gives you five "look and feel" styles including Windows XP and Office 2003 styles. Additionally, it can be painted in one of the built-in skins, or you can create custom skins. See Look and Feel.
Miscellaneous
Formatting the display text within data cells, columns and row headers - Field objects provide properties to specify settings used to format values (for instance, see the PivotGridFieldBase.CellFormat, PivotGridFieldBase.ValueFormat and PivotGridFieldBase.TotalCellFormat properties). The formatting mechanism common to all Developer Express controls is used to provide formatting settings.
Providing the display text for data cells and column and row headers via the PivotGridControl.CustomCellDisplayText and PivotGridControl.FieldValueDisplayText events. The customized display text will be used when the XtraPivotGrid control is printed or exported.
Print support - the contents of the XtraPivotGrid control can be printed out via the XtraPrinting library. See Print Data.
Export to HTML, MHT, RTF, XML, TXT, XLS and PDF formats (via the XtraPrinting library). See Export Data.
Save and load the control's layout - The layout can be saved to and restored from the system registry, an XML file or a stream. See Save and Restore Layout.
Localization of interface elements.
XtraScheduler™ Suite
From the beginning, the focus at Developer Express has been to create best-in-class solutions that give you the ability to create stunning applications using today's most popular look and feel options and to provide you uncompromising flexibility with superior ease of use.
The XtraScheduler represents our answer to the countless developers who have asked us to deliver a scheduling library to market with all the features and options they’ve come to expect from our product line. Built upon our industry-leading visual infrastructure, XtraScheduler will help you build scheduling applications that mimic the UI of Microsoft Outlook® and blow away your end-users each time they start your application.
With XtraScheduler, you will not have to spend any unnecessary time on customization options or inadequate visual elements. Designed to be a cohesive and integrated solution to address the needs of software developers like yourself, XtraScheduler will help you solve your business requirements without frustration - from the moment you install it into your IDE.
At the end of the day, you the consumer must be the judge of a component’s usefulness in your development process. Vendors such as ourselves can claim anything, but the moment you install a control is the moment you discover whether what we say is the truth or a bunch of hot air. We hope you take the opportunity to compare XtraScheduler to our competitors and are confident you’ll come to the same decision as many of our users - the XtraScheduler is in a league by itself.
Because the XtraScheduler is built upon common code shared by our XtraEditors Library, this library is included with your purchase free of charge.
Overview
XtraScheduler - the new advanced scheduling/calendar .NET controls suite from Developer Express Inc. It represents our answer to the countless developers who have asked us to deliver a scheduling library to market, with all the features and options they've come to expect from our product line. Built upon our industry-leading visual infrastructure, XtraScheduler will help you build scheduling applications that mimic the UI of Microsoft Outlook, and blow away your end-users each time they start your application.
With XtraScheduler, you won't have to spend unnecessary time on customization options or inadequate visual elements. Designed to be a cohesive and integrated solution to address the needs of software developers like yourself, the XtraScheduler will help you solve your business requirements without any frustration - from the moment you install it.
Below is a short list of the features and benefits available to you in the XtraScheduler suite:
Built-In Date Views (5 in All)
Day View - Gives the most detailed view of appointments for a particular day.
Work Week View - Displays appointments for the working days in a particular week, or several weeks.
Week View - Displays appointments for any given weekly period.
Month View (Multi-Week View) - The month view is the least detailed of the views, and is designed to allow your end-users to browse and analyze long-term plans. This view positions the days one after another horizontally, so that they form weeks, while weeks are placed one under another.
Timeline View - Displays appointments as horizontal bars along the timescale, and provides end-users with a clearer overview for scheduling purposes.
Date Navigator Control
Today button - The Today button (which can be optionally hidden) jumps to today in the scheduler.
Week numbers - Hide or show week numbers.
Bold dates with appointments - Optional bold mark-up for dates that have appointments assigned to them.
Multiselect - Ability to select several dates (days, weeks, etc.) to display them together in the scheduler.
Holidays highlighting - All holidays are automatically painted in Red.
Appointment Capabilities
Status representation - Four different time display options for the day view (including for appointments that span multiple days).
Label representation - Eleven appointment coloring types to indicate an appointment's type/importance.
Skinned appointments - Appointments use the DevExpress skins technology to persists their appearance settings.
Buttons for hidden appointments - Buttons which indicate that additional appointments exist but don't fit into the screen region. Clicking this button switches the view to the corresponding date. These buttons are called "more" buttons and can be clicked to scroll to the next/previous appointment.
Auto height - Appointments can be of the same height, or automatically calculate every appointment's height to entirely fit its contents.
Recurrence - Recurring appointments are an important part of any scheduling application, and many recurring appointments can be created from a single recurrence pattern.
Show time as clock - Show appointment start and end times as digital or analog clocks.
Start and End time suppression - Optional suppression of the start and end times of appointments.
Unassigned and resourced appointments - Appointments can either be assigned to resources or not.
Conflict checking - The scheduler can resolve appointment conflicts, either by prohibiting or allowing them.
Data Binding
Binding to a database - The scheduler can store its data in a database, so that any other data-aware control can access its data.
Unbound data - If you don't need to store your data in a database, you can store the scheduler's data in the XML format.
Binding custom fields to an appointment - The default data fields used to manage appointments are not all the data an appointment can hold. You can specify as many fields as you need. If you specify custom fields, you can allow your end-users to modify field values via custom dialogs, or initialize these fields in code. With this approach, you don't have to create any additional data storage to maintain extended data for individual appointments.
Multiple Resources Display
Group by date - Appointments can be grouped by their dates.
Group by resource - Appointments can be grouped by their resources.
Resource images - You're able to bind any picture to a resource, so that it will be shown in its header.
Resource filtering - It's possible to filter all the data by resources.
Resource scrolling - If the number of resources shown on screen at one time within the Scheduler Control makes it difficult to see all of the scheduled data, you can limit the number of resources, and then scroll between them as you need. To allow end-users to scroll between resources, there is a ResourceNavigator control which is embedded into the SchedulerControl, and shown if needed.
Resource sharing - The same appointment can be assigned to several resources. Such an appointment will be displayed on all timelines corresponding to linked resources.
Printing
Daily Style - Prints the scheduler's data in the specified interval so that each day is printed on a separate page.
Weekly Style - Prints the scheduler's data in the specified interval so that each week is printed on a separate page, or two separate pages.
Monthly Style - Prints the scheduler's data in the specified interval so that each month is printed on a separate page, or two separate pages.
Tri-fold Style - Prints the scheduler's data in the specified interval in three columns, using the three print styles specified.
Calendar Details Style - Prints the scheduler's data in the specified interval in a column, by date.
Memo Style - Prints all the data of the selected appointments in a memo-like style.
Note: To enable printing, the XtraPrinting Library should be available on this machine. Note that the XtraPrinting library isn't included in the XtraScheduler suite; it should be purchased separately.
Data Export
Data exchange with MS Outlook - You can easily transfer data from Microsoft Outlook's Calendar to your scheduler enabled application, and vice versa. Note that it doesn't matter which version of Outlook you are using.
vCalendar data import and export - With the XtraScheduler you are able to save or load your data in the vCalendar format, and hence exchange your data with scheduling applications that support vCalendar data. Note that the vCalendar data exchange is based on specification 1.0.
XML - The scheduler's data can be exported in the XML format, and then loaded back into the scheduler when required.
PDF, Image - If you already have the XtraPrinting Library installed, you are able to export the scheduler's data either to PDF files, or to one of the supported graphical formats (BMP, TIFF, JPG, GIF, PNG, etc.)
End-User Capabilities
Resizing and moving appointments - The scheduler provides an extremely easy-to-use appointments arrangement mechanism, with full support for resizing and moving appointments.
Built-in popup menus - The scheduler implements a number of built-in context menus similar to those found in Microsoft Outlook. All these menus are controlled by the scheduler's properties which allow you to disable particular items or substitute a menu with your own. Note that you can also customize these menus as you need.
Built-in dialogs - Our scheduler control brings a complete UI into your application, since we've integrated all the dialogs needed by end users to navigate and edit their plans. You will not have to spend any extra time providing facilities for switching between views, editing resource layouts or modifying the contents of appointments. Note that you can also customize these dialogs as you need.
Keyboard support - Date browsing and appointment management can also be done using the keyboard, not just the mouse, so your end-users can more easily work with the data.
Customization
Localization - The scheduler displays two types of strings in its elements, dialogs and menus - some strings are read from the regional settings, so you will never have to worry about their localization, and the remainder can be easily localized.
State Holidays - The XtraScheduler is capable of displaying state holidays. You can export holiday lists either from Microsoft Outlook or from a custom XML file with extremely simple syntax. Specified holidays are visually indicated in both the date navigator and calendar. The date navigator displays holiday dates with a different color. In a calendar, holidays don't include a work hour indication (just like weekend days).
End-user restrictions - You can prohibit end-users from creating, moving, resizing, copying, etc. the scheduled appointments.
Limit accessible time interval - The scheduler allows you to set the allowed date range. If set, end-users cannot access dates outside the specified interval.
Custom appointment images - Instead of standard "classic" images used for appointments, it's also possible to embed custom icons that are shown within different appointments.
Custom in-place editor - You can implement a custom editor form and use this form as an in-place editor for appointments. This means that end-users will see your custom form instead of a simple subject editor. Needless to say, the custom form will be automatically resized to fit the appointment being edited.
Set of native controls - There is also a set of extra editors shipped with XtraScheduler - MonthEdit, AppointmentResourceEdit, etc. So, you can easily create custom forms using native XtraScheduler edit controls.
Appearance
Skins - As with all our .NET controls, the XtraScheduler's UI elements can also be painted using skins. This means that primitives like buttons, column headers, etc. are constructed from a set of bitmaps.
Multiple painting styles and XP themes support - The scheduler supports multiple look and feel styles which affect how headers, scrollbars and the date navigator's elements are painted. Additionally, the specified look and feel settings are in effect for all the dialogs your end-users can invoke in the scheduler control.
Office 2007 look and feel - The XtraScheduler suite can optionally provide the modern Microsoft Office 2007 UI look and feel. Rounded appointments, colored resource headers, navigation buttons and many other features of MS Outlook 2007 - all this is possible with the XtraScheduler.
Customizable styles for elements - One more way of customizing the scheduler's appearance is to apply styles to its elements. Our styles technology gives you the ability to provide a custom background, text colors, fonts and background bitmaps for the elements displayed.
Full custom painting support - If multiple look and feel options and customizable element styles are not enough for your appearance customization needs, you can utilize the custom painting mechanism that lets you manually paint the control's elements.
XtraReports™ Suite
Overview
The XtraReports suite is the most successful attempt of a leading VCL/.NET component vendor to create a completely integrated and powerful, yet flexible reporting system for .NET. In fact, this new system is an extension of the XtraPrinting Library, whose reliable and effective structure has become the basis for this new powerful reporting system - XtraReports.
During XtraReports development, our primary goal was to make the process of creating reports as easy as possible. With this in mind, we have made sure that working with XtraReports is as close as possible to the Windows Forms creation process, so that a report behaves exactly the way the user expects. And - we've succeeded.
Below is a brief list of the main features and benefits available to you in the XtraReports suite.
All in One - Windows Forms and ASP.NET - XtraReports works both in Windows Forms projects and ASP.NET applications. You can create a single report and then use it on either of these two distinct platforms. (Details...)
Simple Class Structure - XtraReports classes persist in exactly the same way as your Windows Forms .NET classes, so there is no need for convoluted external file types. XtraReports only needs standard code files, which makes deployment a breeze for you and your team. (Details...)
Full Visual Studio .NET Integration - The Report Designer is completely integrated into Visual Studio .NET - if you are accustomed to the VS IDE, then you'll feel right at home with the designer. XtraReports publishes directly into your .NET code; connects to your data in exactly the same way as you do in any Windows Forms application, and supports VS.NET command menus and bars. The designer also contains design-time Print and HTML previews, so you don't need to recompile your application to see any changes you've made. (Details...)
Standard .NET Data Objects. Supporting IList Interface, XML Data Objects - XtraReports works with all the data objects supported by Visual Studio .NET. Also it's possible to bind a report to XML data or to any data object implementing the IList interface. (Details...)
Binding to Data Created at Runtime - XtraReports allows a data source to be created, filled with data and supplied to a report at runtime. (Details...)
Mail Merge - Through its embedded fields feature, the XtraReports truly supports mail merge. You can insert a data field name enclosed with brackets right into a label's text, and then these fields will be populated from a datasource when a document is created - a quick and easy way of data binding. (Details...)
Data Filtering - The flexible design of XtraReports allows data to be filtered at several levels - the data adapter, data set or data view levels. (Details...)
Data Grouping - Using grouping bands makes it very easy to implement grouping in XtraReports. Note that this advanced design allows you to implement both nested and multiple grouping. (Details...)
Full Set of Native Controls - There are a lot of native XtraReport controls: Label, Line, BarCode, CheckBox, PageInfo, Panel, PictureBox, PageBreak, Table, ZipCode, etc. (Details...)
Charts in the Box - A special version of the standalone XtraCharts product is included into XtraReports. This allows you to use the XRChart control in your reports without buying extra licenses.
Enhanced RichText Control - With our new RichText control you're able to load its contents from the Rich Text Format, and then print or export them to any possible format (PDF, HTML, etc.)
Subreports - You can reuse XtraReport classes in your own application through a Subreport control. Just drop a subreport control, set its report source property - and the two reports will become one. (Details...)
Rich Band Types - The large number of band types available (10 in total) - Detail Band, Group Header, Group Footer, Page Header, Page Footer, Top Margin, Bottom Margin, Report Header, Report Footer, and Detail Report band - means that you can easily display controls in any part of any page. (Details...)
True Master-Detail Support - A master-detail report can be created using just one report and a single datasource with native ADO.NET data relations. Just define a DataSet relation, add a Detail Report band that includes this relation - and that's it! (Details...)
Support for 3rd Party Windows Forms Controls - XtraReports allows you to use Windows Forms controls in almost the same way as normal report controls. For instance, at design time you just drag and drop them inside a report, and they'll be correctly rendered both at design time and runtime. (Details...)
Creating Custom Controls - XtraReports contains a base control class - XRControl - which allows you to create custom controls of any complexity. Just derive your control from this base class and use a new control in your reports! (Details...)
Advanced End-User Designer - No reporting solution is truly complete without an end-user report designer. All the features available in the integrated VS.NET designer are also available in the XtraReports End-User designer. (Details...)
Field List - Drop fields from the Field List window onto the report to create a label (or any other report control) which is automatically bound to an appropriate field. Dropping the field onto a cell in a table binds the cell to the field as well. (Details...)
Report Explorer - To quickly navigate within a report use the Report Explorer control's navigation window. (Details...)
XtraReports Toolbar - This special toolbar is added to the MS Visual Studio IDE when installing XtraReports, and is provided with some default buttons for manipulating text. (Details...)
Event Support - Flexible event support allows you to create event handlers at the Report, Band and even Control levels, giving you full control over the report. For instance, you can change how the control is drawn, via events. (Details...)
Previewing a Report on a Form - A report can not only be previewed in a separate window, but also in a control placed on a simple Windows Forms form. (Details...)
Advanced Styles - Styles enable you to control the entire look and feel of the report. You can even apply them conditionally to reflect certain states; for instance, even and odd styles for rows. XtraReports ships with an easy to use Style editor. (Details...)
Summary Support - It's extremely easy to create a summary for a textbox or table cell. You only need to set two properties: Summary position (group or report) and summary type (average, count, sum, minimum, maximum, deviation, variance, etc.). (Details...)
In-Place Editing - The MS Visual Studio Properties window is not convenient for entering text. That is why XtraReports gives you the capability to change the Text property of textboxes, rich textboxes and table cells using in-place editing. Double-click on any of these controls to activate in-place editing. (Details...)
Rich Set of Exporting Formats - Export to PDF, HTML, MHT, RTF, TXT, CSV and MS Excel formats. Also you can export your report to an image - BMP, EMF, GIF, JPEG, PNG, TIFF, WMF file types. (Details...)
Importing - You can import your old reports from MS Access, Crystal Reports, or Data Dynamics Active Reports into XtraReports. Just select 'Import' in the report designer and a new XtraReport will be created based upon the imported report. (Details...)
Save and Load Layouts - XtraReports allows you to save and load layouts at both runtime and design-time. (Details...)
Scripting - XtraReports enables you to use C#, Visual Basic .NET and JScript .NET scripts in your report. (Details...)
Watermarks - A report can contain a collection of watermarks set for either all or specified report pages.
Search in Preview - The preview window provides a search dialog, giving end-users ability to search a report for specific text.
Bookmarks - XtraReports supports bookmarks, which can make your report more professional and easy to navigate. This structure can also be exported along with the report to PDF, HTML and MHT file formats. (Details...)
Visual Inheritance - The design of XtraReports allows you to inherit from the XtraReport class and create your own reporting system with ease.
Localization - Localization of every interface element.
Report Wizard - A powerful and intelligent wizard, it prevents you from having to worry about the time-consuming process of customizing a report at design time. Simply run the wizard and get the report you want.
Measurement - XtraReports supports both imperial (inches) and metric (centimeters) units of measurement. Just use the XtraReport.ReportUnit property to specify the measuring system you want to use in the report.
XtraTreeList™ Suite
The XtraTreeList Suite is the first comprehensive TreeList control for Visual Studio.NET. It was built from the ground up using C# and is optimized to take full advantage of the .NET Framework. The XtraTreeList is a multi-purpose data visualization system that can display information as a TREE, a GRID, or a combination of both - in either data-bound or unbound mode. This unique synergy between a traditional grid and a traditional treeview allows you to create cutting-edge and visually appealing application interfaces for your end-users. The XtraTreeList places you in control of the development process and ensures that you can create function rich applications without having to write a single line of code.
The XtraTreeList fully exploits ADO.NET technologies. Its data source can use any class that implements an IList interface, and just like the XtraGrid, the XtraTreeList does NOT cache any data and as result has a small memory footprint and performs data operations as fast as your data can be obtained. In addition, the XtraTreeList fully supports our XtraEditors Library to provide you with a huge collection of individual editors - from drop down calendars to combo boxes.
Main Features
Below is a list of the main features and benefits available to you when using the XtraTreeList control.
Data Specifics
Support for Hierarchical Data Relationships - With the XtraTreeList, you can represent any self-referenced data structure without hassle... In bound or un-bound mode. Please refer to the Tree Generation Algorithm in the XtraTreeList topic for details.
Full ADO+ Support - The XtraTreeList takes full advantage of ADO+. By using this data access architecture and separation of internal data modules from data presentation, the XtraTreeList does not use any extra buffers, thus greatly improving performance and reducing memory use.
Advanced Unbound Mode Support - The XtraTreeList works with any source which supports an IList or ITypedList interface, along with all inherited interfaces. Please see the Unbound Mode topic for more information.
Export Data to and Import from XML - See the Importing and Exporting Data methods.
Dynamic Loading - Allows you to load only root nodes (rows) on start-up. Child nodes are loaded when their parents are expanded. Please see the Dynamic Loading topic for details on how this can be implemented.
Binding to a Business Object - With this feature, you are able to bind the TreeList control to any object that represents a tree structure. You can do this by implementing the DevExpress.XtraTreeList.IVirtualTreeListData interface for the business object or via the TreeList's TreeList.VirtualTreeGetChildNodes and TreeList.VirtualTreeGetCellValue events. Please see the Binding to a Business Object topic for details.
Data Representation Specifics
Automatic Sorting against Multiple Columns - With the XtraTreeList, you can sort against an unlimited number of columns, without writing a single line of code. Please refer to the Sorting topic for more information regarding the sorting algorithm implemented in the control.
Filtering Nodes - This feature allows you to flexibly control the visibility of nodes. You can filter nodes based upon the contents of a column. It's also possible to handle the TreeList.FilterNode event to dynamically specify which nodes need to be currently displayed or hidden. Or you can change a node's visibility directly via the node's TreeListNode.Visible property.
Custom Sorting - Allows you to implement a custom sorting algorithm by handling the TreeList.CompareNodeValues event.
Custom Node Height and Runtime Node Resizing - You can implement a custom algorithm that sets different heights for different nodes or you can allow end-users to freely change the heights of nodes at runtime. See the TreeList.CalcNodeHeight and TreeListOptionsBehavior.ResizeNodes topics.
Incremental Searching - This allows end-users to quickly locate the required information within the XtraTreeList by typing a search string within a non-editable column. See the TreeListOptionsBehavior.AllowIncrementalSearch and TreeListColumn.AllowIncrementalSearch properties.
Auto Preview Pane - Permits you to display long text fields within the TreeList. Jump to the Preview topic to get more information on this feature.
Runtime Column Customization - The XtraTreeList provides a quick method of customizing the control's layout at runtime. End-users can hide specific columns and then restore them using drag and drop.
In-place Editing
XtraEditors Library Integration - No more hassle or limits when it comes to using editors within a treeview. The XtraTreeList works in concert with our XtraEditors Library allowing you to use all our field editors (from date controls to combo boxes) directly within your TreeList. Please see the Inplace Editors topic for more details.
Editor Repository - You can setup a single in-place editor, for instance a pick image edit as an editor for a payment type field, and use it for as many TreeLists or other Developer Express controls as you wish. When you use the repository and have to add a different credit card payment type, you only need to change it in one in-place editor.
Painting Specifics
Support for Multiple Painting Schemes - WindowsXP, Flat, Style3D, Office2003, etc.
Skins Support - Skins will bring a striking look and feel to your applications, far beyond the normal painting standards.
Appearances - A powerful mechanism to control the entire look and feel of the TreeList, allowing you to customize appearance settings of almost any visual element. See the Customizing Appearances topic for more information.
Style Conditions - You can apply appearances to cells conditionally to reflect certain states such as errors.
Alpha Blending & Background Images - You can greatly improve the look & feel of your TreeList control by assigning a background image to it and using transparent element colors. Please see the Alpha Blending topic for details.
Custom Painting - The XtraTreeList provides a set of events that enable you to perform custom painting of control elements. Using this feature, you have no limits in adjusting the control's look & feel. Please refer to the Custom Draw topic to see the ways in which this feature can be implemented.
Design-Time
Advanced XtraTreeList Designer - The XtraTreeList control's designer provides access to the control's settings by categorizing them into separate pages. Thus you can quickly find appropriate options that control different aspects of the XtraTreeList. Jump to The XtraTreeList Designer topic to review the designer pages.
Nodes Editor - This is an easy-to-use editor that allows you to add nodes at design time (used in unbound mode).
Design-time column selection - Not only can you select columns in the Properties grid but also select them directly in the XtraTreeList at design time.
Miscellaneous
Context Menus - Context menus provide end-users with quick access to the most common customization tasks: apply footer and row summaries, invoke column customization, apply best fit to columns and more. It's also possible to extend the built-in menus by implementing custom features via an event. Refer to the Context Menus topic for details.
Column Header and Cell Hint Support.
ErrorInfo Support - The XtraTreeList permits you to mark specific cells or entire nodes with error icons and so indicate the cells that contain invalid data. See the TreeList.SetColumnError topic for more information.
Save and Load Layouts - By default, the XtraTreeList control enables end-users to customize the control's layout at runtime. To save the changes made into the layout by end-users between application runs you can use the TreeList's SaveLayoutTo... and RestoreLayoutFrom... methods. See the Saving and Restoring Layouts Concepts topic for more information.
Printing (via the XtraPrinting Library).
Localization of Every Interface Element. See the Localization topic.
Export to XML, HTML, PDF, RTF, TXT and XLS - See the ExportTo... methods (for instance, TreeList.ExportToHtml).
XtraVerticalGrid™ Suite
With the release of the XtraVerticalGrid Suite, Developer Express introduces an entirely new way to develop elegant and highly functional user interfaces for your Windows Forms applications. Fully optimized for the utmost flexibility, the XtraVerticalGrid Suite will help you build stunning data entry forms with complete control over the information displayed on-screen.
The Suite comes with two controls that generally can be referred to as vertical grids, though their goals are different. The fist - the VerticalGridControl is a data-aware control, which provides an elegant solution to represent data source records as columns. The second control - PropertyGridControl - provides advanced capabilities to display settings of any object at runtime. The solutions implemented in the Suite will help you radically improve the UI of your applications. The control's layout, appearance and behavior settings can be flexibly customized depending upon your needs.
Main Features
The feature list below offers you a glimpse into the XtraVerticalGrid Suite. The vertical grid controls included in the Suite have many features in common. Any features that are specific to a control are listed in the separate subsections below.
VerticalGridControl Features
Full ADO+ Support - The VerticalGridControl takes full advantage of all the capabilities built into ADO.NET. With this data access architecture and the separation of internal data modules from data presentation, the control does not use any extra buffers in any of its data loading modes. Details
Support for Data Lists - The VerticalGridControl can work with any source which supports the IList, ITypedList or IBindingList interface plus all the inherited interfaces.
Multiple Layout Styles - These allow you to specify how bound data is represented within the control. You can choose between displaying a single record at a time, multiple records at a time, or a single record using multi-column format. Details
PropertyGridControl Features
Binding to Any Object - After the object has been bound, the PropertyGridControl automatically retrieves its public properties and creates rows for all of them. You can then remove particular rows to hide specific fields.
Support for Categories - Bound object properties can be grouped into categories. Nested categories are also supported.
Specifying Default Editors to Edit Fields of Particular Types - The control enables you to specify in-place editors to represent and edit values of particular types. For instance, you can specify that the Boolean values will be represented using the CheckEdit control, instead of the standard ComboBox control with the traditional True and False items.
Assigning Editors to Individual Rows - For any row you can override the default editor by assigning a specific in-place editor from the XtraEditors library.
Common Layout and Customization Features
Runtime Layout Customization - End-users can customize the vertical grids at runtime in any way they want. They can hide/restore rows and create new data categories using the Customization Form, rearrange rows using drag-and-drop and resize rows
Save And Load Layouts - This feature allows you to save the control's current layout between application runs, hence save the changes in the layout made by end-users.
MultipleEditor Rows - A row of this type permits you to display multiple editors in a line. Details
Nested Rows - The vertical grids support nested rows. Each row can have child rows, which can also have children, etc. Details
Full Drag and Drop Support - The vertical grids support automatic internal drag-and-drop of rows and let you control drag-and-drop via events. You can also implement OLE drag-and-drop to send data from a grid to other controls and vice versa. Details
Localization of Interface Elements - Like other Developer Express Windows Forms, the vertical grids use the Localization mechanism which allows you to localize interface elements into your language. Details
Common In-place Editing Features
Over 20 Data Editors, which can be used standalone or in-place within the vertical grids. Details
Editor Repository - You can setup a single in-place editor, for instance a pick image edit as an editor for a payment type field, and use it for as many vertical grids as you wish. When you use the repository and want to add a different type of credit card payment, you only need to change one in-place editor. See the EditorContainer.ExternalRepository property.
Common Appearance Features
Various Paint Styles (Office2003, Flat, WindowsXP, Style3D, etc).
Appearances - A powerful mechanism to control the entire look and feel of the Developer Express Windows Forms controls. You can specify the appearance of almost any visual element and even apply it conditionally via an event. Details
Skins Support - Skins will bring a striking look and feel to your applications, far beyond the normal painting standards. Details
Extended Gradient and AlphaBlending Support - You can apply gradient and alpha blending to any grid element at design time or runtime. The XtraVerticalGridBlending component help you customize alpha channels for various visual elements of the controls. Details
Full Custom Draw Support - allows you to manually paint almost any element of the vertical grids. Details
Common Design-Time Features
Advanced Design-Time Support - The XtraVerticalGrid Suite ships with an easy-to-use design time editor that allows you to control virtually every aspect of a vertical grid without having to write a single line of code. Instead of writing code to manage the appearance, you can concentrate on writing code to handle the really "interesting" tasks.
XtraCharts™ Suite
Overview
The XtraCharts Suite makes 2D and 3D charting easier than ever. It includes multiple palettes to automatically color your series, so that appearances are never a concern. It can even show a preview of a chart before you've supplied any data for it. You can access any element's settings by simply clicking that element. And there are so many additional automatic adjustments, that it takes little effort to create a smart, professional looking chart.
With the XtraCharts Suite you can visualize data stored almost anywhere - from a database to a collection. You can even supply point data directly to a chart which is in unbound mode. And the XtraCharts Suite is extremely flexible, not only with the data it displays, but also in the ways you can output that data. Our charting engine allows you to display charts not only on Windows Forms, but also on Web Sites, in reports created with the XtraReports Suite, or even print them directly.
Below is a short list of the features and benefits that the XtraCharts Suite gives you:
Multiple Target Platforms
Windows Application - The XtraCharts Suite includes a ChartControl component that provides charting capabilities for Windows Forms applications. Using this single control, you can build numerous chart types from 2D bar charts, to financial chart views and 3D charting.
ASP.NET - The WebChartControl allows you to add charts to your ASP.NET web pages. It delivers the same exact features as its Windows Forms counterpart.
Printed Page or Banded Report - You can combine the XtraCharts Suite with either XtraPrinting Library of XtraReports Suite to produce an attractive printing output.
2D Chart Types
Bar Views - The XtraCharts Suite offers you a choice of three kinds of Bar Views: Side-by-Side Bar View, Stacked Bar View, 100% Stacked Bar View. The following features are available for all types of Bar Views: rotated view - horizontal bars; automatically or manually specified bar width; automatic coloring of each individual bar in a series; customizable border styles, bar fill style and shadow.
Range Bar Views - The XtraCharts Suite offers you a choice of two slightly different Range Bar Views: Range Bar View (displays overlapped bars if multiple bars correspond to the same argument) and Side-by-Side Range Bar View (displays bars corresponding to the same argument side-by-side).
Gantt Views - Gantt views are the best choice if you need to plan or analyze multiple-resource tasks or multi-task processes. Just like Range Bar Views, Gantt Views ship in two slightly different versions: Gantt View (displays overlapped bars if there are multiple time intervals for the same resource) and Side-by-Side Gantt View (displays bars corresponding to the same resource side-by-side).
Point View - When representing data via a Point Chart, the following options are available to you: automatic coloring of each individual point in a series; customizable shape and size of markers; shadow under each individual marker (point).
Line Views - The XtraCharts Suite offers you the choice of two different line series views: Line View and Step Line View.
Area Views - Like Bar Views, Area Views come in three slightly different versions: Area Views (series are drawn over each other), Stacked Area Views (areas are stacked on each other) and 100% Stacked Area Views (areas are stacked on each other and are stretched to fit the view vertically).
Pie View - Shows the proportion of parts to the whole. The Pie View's settings allow you to specify the height to width ratio, the fraction of the chart area occupied by a pie, pie rotation angle, as well as to display pie slices spread apart ("exploded"), etc.
Radar and Polar Views - These are circular charts. A Radar view is drawn on a circular grid and has multiple axes along which data can be plotted. A Polar view displays values on the basis of angles. Both views support the point, line and area drawing styles.
Financial Series - For stock data analysis, the XtraCharts Suite offers you the following financial chart views: Candle Stick View and Stock View.
Multiple and Different Series in One Diagram - If you need to display multiple series within the same diagram, we've engineered the XtraCharts Suite to provide you with that flexibility.
3D Chart Types
Most Frequently Used 3D View Types - Manhattan Bar view, Line and Step Line views, Pie view, Area, Stacked Area and 100% Stacked Area views.
Easy Replacement Of Existing 2D Charts With Their 3D Equivalents - There is no difference in the chart customization interface and data management between 2D or 3D charting using the XtraCharts Suite. All you need to do is to change the chart view type, which is a single property.
True OpenGL Rendering - Since OpenGL has proven its stability and power, you'll see fewer bugs. You'll achieve life-like pictures with real light sources, real shadows and flares.
Full Anti-Aliasing Support - We have implemented an advanced multi-stage smoothing algorithm, so that there are always clean and sharp lines and no rough edges.
Perspective Projection Support - You can change the viewing angle to control how large fronted objects appear relative to background objects.
Gradient Fill and Texture Support.
Transparency Support - You can specify a transparency for any 3D view except the Pie View.
Data Binding and Exchange
Support for All Common Data Sources - XtraCharts can be bound to various data sources. This also includes full ADO+ support.
Unbound Mode - A series can be manually populated with data by specifying values for the (X) and (Y) coordinates of the points. It's also possible to combine bound and unbound series views within a single diagram.
Binding Individual Series - XtraCharts can display data from multiple data sources, as each series can be bound to its own data table.
Using Series Templates - In this mode the ChartControl creates series Views automatically, and there is no need to populate the Series collection manually.
Filter Series Data - This feature allows you to apply filter criteria to the data displayed by specific series, so you can avoid flooding the chart control with irrelevant data.
Sort Series Data - XtraCharts allows you to sort data within a series. You can sort by either the X or Y portion of the series.
Printing and Exporting - If you own the XtraPrinting Library, you can easily export your chart to: an image file (BMP, JPG, PNG, GIF, TIFF, WMF, EMF file formats are supported); a PDF file; an image embedded into an HTML page; an image embedded into a Microsoft Excel spreadsheet; a printed page.
Intuitive Design-Time Customization
On-form Object Access - This key feature greatly simplifies the process of customizing XtraCharts. Just click a control, diagram, series or axis and the associated settings will be displayed in the Properties window.
Wizard Dialog - XtraCharts provides an easy-to-use Wizard which significantly simplifies the process of customizing the ChartControl.
Previewing Real Data at Design Time - If the ChartControl is bound to a DataTable at design time, you can preview the underlying data with a single click.
Selecting a Series via the Legend - If there are many Series Views within a diagram, simply select a specific series via the Legend box.
Appearance Customization
Appearance Customization For Individual Elements - The XtraCharts suite allows you to customize not only simple things such as font/text color, solid/gradient/texture backgrounds, and border style customization, but also shadow color and size; advanced background gradients - even circle gradients if you build a pie chart; hatch backgrounds; various line styles and thickness options.
Multiple Palettes for Automatic Series Coloring - With the XtraCharts Suite, little time and effort is required to create stunning and consistently colored series. We offer you several built-in palettes (or style schemes) that are used to automatically color bars in a bar view, sectors in a pie view, etc.
Custom Draw - The chart control offers you two events that fire before a particular element is painted. These events allow you to change appearance attributes for each individual element even if you can't reach this element via properties.
End-User Capabilities
Selecting Chart Elements - End-users are able to highlight and select different chart elements at runtime via the mouse pointer. This feature is useful, if for example, it's required to show certain information when the mouse pointer hovers over specific chart elements.
Zooming and Scrolling - End-users can zoom and scroll 2D and 3D views.
Rotating - You are toggling a single property to allow end-users to rotate a 3D chart in any direction by simply clicking and dragging. So, you don't have to guess which rotation angle to specify in order to make the entire chart's content visible.
Live Chart Resizing - When a form with a chart is resized, and the chart changes its size with its parent form, all the chart's elements are automatically resized. All elements of the chart change interactively.
XtraLayoutControl™ Suite
The XtraLayoutControl is a new product, designed from the ground up, which answers the needs of all .NET WinForms developers who have ever faced the challenge of arranging multiple controls within a form. The primary purpose behind the creation of the XtraLayoutControl was to reduce the time that developers have to spend on creating, customizing and supporting the layout of applications that contain a lot of controls.
It's quite easy to arrange controls within a new form without the XtraLayoutControl. However, when new controls are added to or removed from forms or a control or form is resized, or font settings are changed, and so on the layout can easily be destroyed. So, to restore the layout you have to rearrange all the controls again. The XtraLayoutControl represents an elegant solution to this tiresome task providing an automatic control alignment feature which ensures that no control ever overlaps another one, and thus maintains an effective and consistent layout.
The XtraLayoutControl features an intuitive interface which aids developers in arranging controls on the fly. Moreover, an end-user can easily modify the layout at runtime and save it each time an application is run.
Use the following links to find more information on the XtraLayoutControl. If you are not familiar with the control we suggest that you first check out the Introducing the XtraLayoutControl topic and the Getting Started section.
Overview
The XtraLayoutControl provides numerous built-in features that give you advanced capabilities to create, customize and maintain a consistent layout of controls within a form. It addresses almost all your layout customization requirements. Below there is a list of essential features offered by the XtraLayoutControl:
Layout Specifics
Automatic Layout Management - A single XtraLayoutControl can manage the layout of multiple controls irrespective of their type or size simultaneously. It ensures that the controls are always arranged without any overlap.
On-the-Fly Layout Customization - All design-time operations for customizing the layout of controls are performed via drag and drop. This greatly simplifies the process of adding and arranging controls within the XtraLayoutControl and provides an easy way to modify the layout afterwards.
Automatic Resizing of Inner Controls - When a form and XtraLayoutControl are resized the space allocated for each inner control is automatically changed proportionally. Thus there is no need to write code to maintain a consistent layout when a form is resized.
Various Layout Types - The controls within the XtraLayoutControl can be lined up in numerous ways - horizontally and vertically next to each other, multiple controls within a single row and multiple controls along the edge of another control.
Automatic Alignment - The XtraLayoutControl supports the automatic alignment of controls, so that the left edges of controls that are displayed under each other are always aligned. The layout of the controls in an application can either be controlled as one, or the controls can be split into layout groups each of which can have its layout controlled separately from the others.
Infrastructure Specifics
Groups and Tabbed Groups - This unique feature allows controls to be joined into groups with captions and tabbed groups. Thus there is no need to use additional Panel and TabControl components.
Size Constraints - The ability to set size constraints for inner controls is a key feature of the XtraLayoutControl. By setting the minimum and maximum sizes of a control you can impose restrictions on how the control is resized (for instance, when the XtraLayoutControl's size is changed). You can lock the control to a particular size or allow it to be changed only within a specified range.
Predefined Size Constraints for DevExpress Controls.
Predefined Size Constraints for Standard WinForms Controls.
Layout Item Captions - Each layout item has a text region that can display a description for the corresponding control.
Customizable Item Caption Position - The text region can be displayed on the left, top, right and bottom side of a layout item's control.
Design-Time and Runtime Customization
Advanced Design-Time Capabilities - These include: dragging controls to and from the XtraLayoutControl, moving items within the XtraLayoutControl, combining adjacent items into groups, combining adjacent groups into a tabbed group, hiding an item, locking and unlocking its size, etc.
Design-Time On-Form Access to Individual Layout Items - You can click a layout item to display its settings in the Properties window.
Built-In Customization Form - It stores temporarily hidden layout items and shows the hierarchical structure of the controls within the XtraLayoutControl. The form can also be invoked at runtime.
Runtime Customization - End-users can rearrange, resize and hide controls within the XtraLayoutControl according to their preferences. Runtime customization is available in Customization mode.
Customization in Code - Creating and customizing the XtraLayoutControl via code is as easy as at design time. The XtraLayoutControl provides a full set of methods which enable you to carry out any layout task at runtime.
Save and Load the Layout - The layout can be saved to and restored from the system registry, an XML file or stream.
Painting Specifics
Multiple Paint Styles Support - The control comes with five different look and feels built-in including Windows XP and Office 2003 style. Additionally, it can be painted using one of the eight built-in skins and in addition you can create custom skins.
Appearance Customization - A powerful mechanism to customize the appearance (background and foreground colors, font settings, etc) of any visual element.
Miscellaneous
Localization of Interface Elements.
XtraNavBar™
Overview
Welcome to the XtraNavBar - our 100% C# based native .NET component suite, built from the ground up, and fully optimized for the .NET Framework.
Providing easy and intuitive navigation options within an application is the goal of every software developer. The XtraNavBar gives you everything you need to create easy to use applications with incredible sophistication and elegance. Via its advanced design time editor, you can quickly setup and create the look and feel of your choice without writing a single line of code - and deliver applications that will blow away your competition.
The XtraNavBar was specifically designed to simplify how your end-users navigate within your application, and to provide you with cutting-edge user interface options, without writing a single line of source code. Like all Developer Express technologies engineered for Visual Studio .NET, the XtraNavBar was written using C#, and fully optimized to take advantage of the .NET Framework.
The extremely flexible control structure will ensure you enjoy development with the XtraNavBar. Since the control's layout is fully separated from its visual representation, you only need to create your control's structure once, and then apply any visual styles you like. Each control's group controls how items are arranged in it, so the layout can be changed without the need to reinitialize any item data. What's more important, you can even allow your end-users to choose the visual style or item layout they need. And you will never have to worry about providing the latest look and feel kinds in your apps. With the XtraNavBar, you just get the new version, change a single property value and that's all - you have the same data presented in the newest visual style.
The following is a short summary of the features available to you in the XtraNavBar:
MS Outlook's SideBar visual styles - the control provides 5 paint styles allowing you to emulate the look and feel of the sidebar introduced in MS Office 97, 2000 and XP.
A visual style emulating the toolbox available in MS Visual Studio .NET.
MS Windows XP ExplorerBar visual styles - the control provides 4 paint styles that emulate the look and feel of the explorer bar available in Windows XP.
MS Office 2003 Navigation Pane visual style.
2 unique XP theme painted sidebar visual styles.
4 different link layout styles - links within a group can be arranged one under another, displaying their images either to the left or top, and you can also utilize the large or small icons flow layouts.
Embedded controls support - with the XtraNavBar, you can embed any Windows Forms controls into groups.
Link selection support - you can either have a single selected link in the control, selected links in each individual group or prohibit link selection.
An advanced style technology - with the XtraNavBar you can customize the appearance of each individual element in each state. Of course, you can also apply a common style to elements of a particular kind, and use the style inheritance mechanism.
Alpha blending and background images support - you can provide a background image for the control, or for each individual group's client area, and customize the transparency for every element via styles.
Automatic link drag and drop support.
Context menus allowing you to customize the control's layout at design time directly on the form - without the need to invoke any designers or property editors.
Easy-to-Use Designer - Like all of our .NET technologies, the XtraNavBar includes an extremely easy to use design time property editor.
Load and Save Runtime State - The XtraNavBar allows you to load and save its state to an XML file, the Registry, or a Stream.
Custom Draw Support - Need to customize the XtraNavBar to meet specific requirements? It's not a problem!
Custom Drawn Hints - The XtraNavBar gives you incredible control - you can even custom draw hints!
Customizable distances between links and groups.
View extensibility and registration - you can create your own views and register them, so that they are available even at design time.
XtraEditors™ Library
The XtraEditors Library is a 100% C# component suite designed and optimized for Visual Studio .NET. The XtraEditors Library is a revolutionary suite of over 35 data edit controls - the first native components of their kind for the .NET Framework. Every single editor in the suite is available to you in both unbound and data-aware mode.
Among the dozens of new technologies found in the XtraEditors Library, is its Style Controller architecture which gives you the ability to change the style of some or all of the editors within your application - or form - using a single property setting. The Style Controller gives you total control when designing an application. Whether you wish to give your applications the look & feel of IE, Win2K, or even Win3.1, the XtraEditors Library gives you all the tools you need to create incredible interfaces with ease. The XtraEditors Library can be purchased individually or as a part of the following suites: XtraGrid Suite, XtraTreeList Suite and XtraBars Suite.
This topic provides a list of all the editors in the XtraEditors library (see below).
Features Common to All the Editors in the XtraEditors library
They are all Databindable;
They can all be used for standalone or in-place editing within the container controls provided by Developer Express (XtraGrid, XtraVerticalGrid, XtraTreeList and XtraBars);
They all use the same Style, Look and feel, and Tooltip mechanisms, since they're all descended from the BaseEdit class.
To embed a specific editor in a container control a corresponding Repository Item must be created. A repository item is a component that stores properties and events pertaining to a corresponding editor. Container controls use information provided by repository items to create fully-functional editors when required. See the Repositories and Repository Items document for more details.
Please see the Editors Hierarchy and Editors Class Structure topics for general information on the editors.
Editor List
The table below lists the available editors and corresponding repository items:
TEXT BOX EDITORS
REPOSITORY ITEMS
ButtonEdit
RepositoryItemButtonEdit
A text editor that allows you to display buttons within an edit box.
HyperLinkEdit
RepositoryItemHyperLinkEdit
An editor allowing you to edit hyperlinks and navigate to their targets.
MemoEdit
RepositoryItemMemoEdit
An editor allowing you to display and edit multi-line text.
SpinEdit
RepositoryItemSpinEdit
An editor allowing you to edit numeric values using spin buttons.
TextEdit
RepositoryItemTextEdit
A single line text editor.
TimeEdit
RepositoryItemTimeEdit
An editor allowing you to edit time values using spin buttons.
EDITORS WITHOUT A TEXT BOX
CheckEdit
RepositoryItemCheckEdit
An editor that provides checked, unchecked and, optionally, grayed states. Most commonly used to edit Boolean values.
PictureEdit
RepositoryItemPictureEdit
An editor that displays images stored in a bitmap, metafile, icon, JPEG, GIF or PNG format.
ProgressBarControl
RepositoryItemProgressBar
A control that indicates the progress of a lengthy operation.
RadioGroup
RepositoryItemRadioGroup
A control providing a group of radio buttons.
RangeTrackBarControl
RepositoryItemRangeTrackBar
A track bar with two sliders that allow a user to select a range of values.
TrackBarControl
RepositoryItemTrackBar
A track bar.
ZoomTrackBarControl
RepositoryItemZoomTrackBar
A zoom track bar.
EDITORS WITH POPUP WINDOWS
CalcEdit
RepositoryItemCalcEdit
A control providing a dropdown calculator.
CheckedComboBoxEdit
RepositoryItemCheckedComboBoxEdit
An editor that allows you to represent and edit a set of Boolean options or bit fields in a popup window.
ColorEdit
RepositoryItemColorEdit
An editor that allows you to select a color from the dropdown window.
ComboBoxEdit
RepositoryItemComboBox
A text editor that allows you to select predefined items from a dropdown list. List items are represented by strings.
DateEdit
RepositoryItemDateEdit
An editor that allows you to edit date/time values using a dropdown calendar.
FontEdit
RepositoryItemFontEdit
An editor that allows you to select a font from a dropdown list.
ImageComboBoxEdit
RepositoryItemImageComboBox
A combo box editor whose items can display custom images.
ImageEdit
RepositoryItemImageEdit
An editor that displays images in its popup window.
LookUpEdit
RepositoryItemLookUpEdit
An editor that displays a multi-column record list from an associated dataset.
MemoExEdit
RepositoryItemMemoExEdit
An editor that allows you to edit multi-line text in its popup window.
MRUEdit
RepositoryItemMRUEdit
A text editor that allows you to choose the most recently entered value from a dropdown list.
PopupContainerEdit
RepositoryItemPopupContainerEdit
A control that can display other controls within its popup window.
The XtraEditors library provides controls that can only be used as standalone controls, i.e. they cannot be used for in-place editing in container controls. These include: several types of list boxes, data navigator controls, scrollbars and a button control. These controls are all BaseStyleControl descendants and thus support the style, look and feel, and tooltip mechanisms common to all Developer Express controls. This enables you to provide a unified appearance and behavior common to all the controls in your application.
The table below lists the available controls:
ControlNavigator
Provides a graphical interface for navigating data-aware controls that implement the INavigatableControl interface (this interface is implemented by all the data-aware container controls provided by Developer Express).
DataNavigator
Provides a graphical interface to navigate and manipulate the records in a data source.
LabelControl
A label.
MarqueeProgressBarControl
A control that is used to indicate that an operation is going on.
ListBoxControl
A list box control which can be populated with items from a data field.
ImageListBoxControl
A list box control whose items can display images. The control can be populated with items from a data field.
CheckedListBoxControl
A checked list box control. Each item can be checked, unchecked or set to the grayed state. The control can be populated with items from a data field.
SimpleButton
A button control which can display caption text along with a custom image.
The SimpleButton.AllowFocus property can be set to false to prevent the button from being focused.
CheckButton
A button control that supports two states: elevated and depressed.
The SimpleButton.AllowFocus property can be set to false to prevent the button from being focused.
DropDownButton
A button control that can be associated with a popup control or a context menu.
The SimpleButton.AllowFocus property can be set to false to prevent the button from being focused.
HScrollBar
A horizontal scrollbar.
VScrollBar
A vertical scrollbar.
PanelControl
A panel.
GroupControl
A panel with a caption.
XtraScrollableControl
A panel with built-in auto-scroll functionality.
SplitterControl
A splitter.
SplitContainerControl
A control consisting of two panels separated by a splitter.
XtraTabControl
A tab control.
XtraForm
A form that provides centralized control over the look and feel settings of the DevExpress controls placed on it.
XtraUserControl
A user control that supports look and feel, and skin technology.
XtraMessageBox
A message box that supports look and feel, and skin technology.
This topic describes the class structure of the editors available for in-place editing in container controls or as standalone controls. All these editors are derived from the abstract BaseEdit class. Note: that this class doesn't implement any editor-specific functionality for editor painting, responding to user actions, etc. Thus, if you need to create a custom editor class that has no features in common with any existing editor, you should derive your editor from the BaseEdit class.
Editors derived from the BaseEdit class can be divided into logical groups with respect to their immediate parent. For example, the BaseSpinEdit class is the immediate parent of the SpinEdit and TimeEdit editors. It implements the functionality required to edit values using spin buttons. It is derived from the ButtonEdit class, which enables buttons to be used within editors. The ButtonEdit class is a descendant of the TextEdit class, which enables a box to be displayed for editing text. As you can see, each group of controls has common functionality provided by ancestor classes. Each ancestor brings its own functionality so that editor functionality is increased as you go down the inheritance tree. This tree is displayed in the image below. Key classes (base classes introducing new functionality used by several editors) are displayed on the left. Their immediate descendants (editors that belong to the same logical editor group) are displayed on the right.
The list below provides a brief description of each editor group:
Immediate BaseEdit descendants (excluding the TextEdit editor). Each editor in this group has its own functionality and has no features in common with the other editors.
The TextEdit class and its immediate descendant MemoEdit editor. These editors display a text box supporting single line or multi-line text editing, respectively. Please refer to the Text Editing Overview topic for details on features specific to these editors and their descendants.
The ButtonEdit class and its immediate descendant HyperLinkEdit editor. In addition to inherited features, these editors can display editor buttons. Please refer to the Editor Buttons Overview and Editor Button Shortcuts topics for additional information on customizing editor buttons.
Immediate descendants of the BaseSpinEdit class. In addition to inherited features, these editors allow end-users to modify their values using spin buttons. Please refer to the Spin Buttons topic for additional information.
Immediate descendants of the PopupBaseEdit class. In addition to the inherited features, these editors can display popup windows and allow you to control their availability, visibility and other aspects of the popup windows functionality. Please refer to the Dropdown Editors Overview topic for additional information.
Immediate descendants of the BlobBaseEdit class. In addition to the inherited features, these editors provide functionality specific to editing BLOB data using the editor's popup window. Please refer to the BLOB Editors topic for additional information.
Immediate descendants of the LookUpEditBase class implement lookup functionality. There are two descendants of this class: the LookUpEdit and GridLookUpEdit editors.
The GridLookUpEdit control implements lookup functionality using an embedded XtraGrid control. This control is shipped with the XtraGrid Suite and is not included in the XtraEditors library.
For more information on lookup functionality see the LookUpEdit topic.
The ComboBoxEdit class and its immediate descendants. These editors allow end-users to select a value from a dropdown list. Please refer to the Combo Box Editors topic for details.
The XtraEditors Library provides two classes that serve as the base for controls and components that use editors. These are the EditorContainer and ComponentEditorContainer classes. The first class is the Control descendant and serves as the base for controls that use in-place editors. The second class is the Component descendant and implements the basic functionality of components that allow the use of editors. The image below shows the inheritance diagram for the classes mentioned. Note that descendant names are replaced with the suite names.
The XtraGrid, XtraTreeList and XtraVerticalGrid suites provide controls that are used to display and edit data from a bound data source. All these controls allow you to use editors supplied by the XtraEditors Library and thus, they are all derived from the EditorContainer class that implements editor management functionality. The XtraBars suite allows you to build toolbars and menus with editors incorporated into them. This suite's main element is the BarManager component that is derived from the ComponentEditorContainer class.
The list below summarizes the main features implemented in editor containers and thus, supported by their descendants:
Editor Repositories Management
Containers manage editor repositories that will supply in-place editors for derived controls and components. Each container holds an internal repository that can be accessed via their RepositoryItems property. At the same time, containers can be bound to external repositories using their ExternalRepository property. Please refer to the Repositories and Repository Items topic for details.
Look And Feel Settings Management
Containers support the look and feel technology that is used by all Developer Express components to provide centralized control over the visual elements' appearance. Refer to the Look And Feel Support topic for details.
Tooltip Settings Management
Containers provide the common tooltip appearance and behavior management for their visual elements. For this purpose, they declare the ToolTipController property. Please refer to the Tooltip Management Concepts topic for details on controlling tooltip settings using the technology introduced by Developer Express.
The editors of the XtraEditors Library can be used to perform in-place editing in the container controls provided by Developer Express. This topic describes the mechanism used to assign in-place editors to container controls.
Editor Repositories and Repository Items
Each editor which can be used for in-place editing has a Properties property which stores the settings and event handlers that correspond to this editor. This property represents an instance of the class derived from the RepositoryItem class. For instance, a date editor (DateEdit) provides the DateEdit.Properties property of the RepositoryItemDateEdit type.
Objects derived from the RepositoryItem class are called Repository Items. As you can see a repository item is a part of an editor (the repository item can be accessed via the editor's Properties property). But repository items can also exist as standalone objects.
You should create specific repository items as standalone objects to embed editors of particular types into container controls (XtraGrid, XtraVerticalGrid, XtraTreeList and XtraBars). For instance, you need to create a RepositoryItemButtonEdit object to embed a ButtonEdit in a container control. See the Editors List document for a list of the editors that can be used in-place and their corresponding repository items.
Enough information is contained in a repository item to create a fully functional editor. For instance, when an end-user clicks a cell within the XtraGrid control to activate an in-place editor, the grid does the following:
First, it looks for the repository item which is assigned to this cell.
It then creates an editor which corresponds to this repository item based upon the information provided by this item.
Then all the settings and event handlers of the source repository item are copied to the editor's Properties property.
Finally the editor is displayed within the clicked cell. When an end-user leaves the cell the editor is automatically destroyed but the source repository item isn't affected.
To use a repository item in a container control it must be added to this control's internal editor repository or to an external editor repository:
A control's internal repository.
Repository items added to this repository can only be used within this control and cannot be used within other container controls.
For EditorContainer descendants (XtraGrid, XtraTreeList, and XtraVerticalGrid) the internal editor repository can be accessed via the EditorContainer.RepositoryItems property. For ComponentEditorContainer descendants (XtraBars) use the ComponentEditorContainer.RepositoryItems property instead.
An external repository.
An external editor repository can be bound to multiple container controls within the same application. Repository items that are added to this repository can be shared between all the controls that are bound to it.
An external repository is represented by a PersistentRepository component. To bind an external repository to a container control, use the EditorContainer.ExternalRepository property. The ComponentEditorContainer.ExternalRepository property should be used for container components.
Containers can use repository items stored within both repositories. Thus, the entire collection of repository items that are available is comprised of the items stored within the internal repository and the items added to the bound external repository, if any.
Repository items created within containers at design time are automatically added to internal repositories. Items created via code should be added to repositories manually.
Example
The following code shows how to assign a DateEdit editor which will be used for in-place editing to a column in the XtraTreeList. First, a repository item (RepositoryItemDateEdit) corresponding to the required editor is created and added to the control's internal repository. Then this repository item is bound to a specific column:
C#
Copy Code
RepositoryItemDateEdit riDateEdit = new RepositoryItemDateEdit();// Customize the item...// Add the item to the control's internal repository.treeList1.RepositoryItems.Add(riDateEdit);// Bind the item to the control's column.treeList1.Columns["Start Date"].ColumnEdit = riDateEdit;
Visual Basic
Copy Code
Dim riDateEdit As RepositoryItemDateEdit = New RepositoryItemDateEdit()' Customize the item...' Add the item to the control's internal repository.TreeList1.RepositoryItems.Add(riDateEdit)' Bind the item to the control's column.TreeList1.Columns("Start Date").ColumnEdit = riDateEdit
The result is shown in the image below:
Design-Time Tools
All the container components and controls provided by Developer Express have their own facilities (which are all very similar) for managing their internal repository at design time. The following screenshots demonstrate how to add editors to a grid control's internal repository. This is done using the grid control's designer dialog.
The list displays all the repository items which reside within the grid's internal repository. To add an editor to the repository, press the down arrow near the Add button. This opens the dropdown list which allows you to specify the type of the repository item:
External repositories (PersistentRepository components) provide a similar designer for their collection of repository items. To invoke the designer, press the ellipsis button which corresponds to the EditorsRepositoryBase.Items property.
Once repository items have been added to the desired collections and customized as required, you should bind them to particular visual elements (columns, data cells, etc). To learn how to do this, please refer to the documentation provided for the container control or component you are using.
XtraPrinting™ Library
Overview
The XtraPrinting Library is our 100% C# data rendering and visualization system, built specifically for Visual Studio .NET and designed to bring your User Interface to the printed page. When you start using the XtraPrinting Library, you will be able to print the contents of advanced visual controls such as the XtraGrid and XtraTreeList with ease - without any hassle, and offer your end-users a nearly unlimited series of "reports" without actually having to create a single one using a traditional report writer.
Like all Developer Express technologies for Visual Studio .NET, the XtraPrinting Library helps you give control back to your end-users via a runtime interface that is easy to use, and has an astounding level of flexibility. When you combine the XtraPrinting Library with the XtraGrid, XtraPivotGrid, XtraScheduler or other Developer Express suites, you get the threefold benefit of eliminating the tedium associated with creating traditional banded reports, greatly reducing development time, and making your applications easier to use.
Below is a short list of the features and benefits available to you in the XtraPrinting Library.
Print Almost All Controls
Windows Forms Controls - With the XtraPrinting Library you're able to automatically preview and print standard DataGrid, TreeView, ListView and RichTextBox controls. The XtraPrinting library contains printing links specifically designed to support advanced printing of these standard Windows Forms Controls. (For detailed information see Printing Links).
Developer Express Controls - Most of the Developer Express controls (such as the XtraGrid, XtraPivotGrid, XtraTreeList, XtraVerticalGrid, XtraScheduler, XtraCharts, XtraLayoutControl) can be printed with the XtraPrinting Library. If you have the library installed on your machine, you're able to print all of these controls with just a single line of code.
Any Other Controls - The Flexible API which is provided with the library lets you implement your own printing (called custom printing links) for any other Windows Forms controls. This means that you're able to preview, print and export any of your custom controls in a Windows Forms application.
Export to Multiple Formats
A Large Set of Export Formats Supported - A document can be exported in various formats with the XtraPrinting Library. Exporting to PDF, HTML (plus MHT), TXT (plus CSV), XLS, RTF, and various Image (BMP, JPEG, GIF, TIFF, PNG, EMF) formats are all supported – basically, all the formats you could possibly need.
Send via E-Mail - If your end-users want to be able not only to export the created document, but also to send it via e-mail, they can do this directly in the print preview window. They just click the appropriate button on the toolbar, select the file format, fill in the e-mail details - and that's it!
Advanced API for Building Reports
Banded Document Structure - A document created with the XtraPrinting Library has a banded structure, and consists of a number of sections of different types. Besides allowing you to insert detail data, it allows you to insert groups, report page headers and footers, and even insert data into page margins. (For more information see Document Creation Approaches).
Brick as an Atom Element - Every element in a document has a Brick as its base. There are a number of different brick types in the XtraPrinting Library, and when you need to implement a custom printing procedure, you can always find a brick type to suit your needs. (For detailed information see Bricks).
Multiple Events for a Brick - Bricks in XtraPrinting provide a lot of events allowing you to tackle many different tasks. For instance, you can handle an end-user's click in the Preview to open another document's preview when implementing a master-detail report hierarchy. (For more information see How to: Create a Drill-Down Hierarchical Report).
Ability to Create Custom Brick Types - If, in some rare cases, the current types of the XtraPrinting bricks don't suit your needs, you can easily create custom ones by inheriting from any of the existing bricks. (For more information see How to: Create a Custom Brick Implementing the IBrick Interface).
Page Numbers and Summaries - XtraPrinting provides a number of methods to insert page numbers in a document. You can also insert page summaries which will be recalculated every time a page's layout is changed.
Print and Preview - You can either print your reports directly on a particular printer, or first preview them in a preview window, and then export them, or send them to any printer you want.
Enhanced Previewing Ability
Preview Form and Preview Control - Previewing a report is really easy in XtraPrinting. You only need to write a single line of code to invoke the enhanced preview window and display a document in it. You're also able to show a report's preview in any custom form using the PrintControl which is shipped with the XtraPrinting library. (For more information see Print Preview Form).
Customize the Preview - If you're not satisfied with the look and feel of the standard preview window, or you want to hide certain toolbar buttons, or add your own commands to it; you're able to customize the preview window as you need.
Full Skins Support - For applications that require a unique visual presentation, the XtraPrinting Library (and all other Developer Express WinForms visual controls) fully support Skins. With eight built-in skins, and the ability to create your own unique skins, XtraPrinting allows you to design the 'perfect' look and feel. By using Skins you can introduce the XP look and feel experience into applications that are not running under the XP Operating System. (For more information see Skins Concepts).
Control Scale and Zoom - Using the Preview window provided with XtraPrinting it's really easy to set the desired scale and zoom level for a previewed document. An end-user can just click the toolbar button and choose the desired value from a drop-down list, or enter a custom value.
Page Setup Dialog - Specifying a printer, selecting which pages are printed, and any other printing options - can all be done directly in the Preview window. An end-user can set report parameters via the Page Setup dialog window, which can be invoked via the corresponding toolbar button.
Customizable Margins in Preview - It's also possible to modify a report's characteristics while in preview mode. For instance, an end-user can change the value of any margin directly in the Preview window, and the document will immediately be recreated.
Facing and Continuous Page Layout - A document can be previewed in two modes - facing and continuous. When the Facing layout is active, the pages are arranged side-by-side. In Continuous mode, the pages are arranged as a continuous vertical column.
Multiple Pages Layout - Displays a fixed number of report pages on screen regardless of the window size.
Watermark and Background Color - Specify a color to fill pages within the Color Selection dialog, or add text or an image watermark.
XtraSpellChecker™
The XtraSpellChecker provides you a straightforward way in which to add Microsoft® Office® style spell checking capabilities into your next Windows® application and offers you built in suggestion forms that replicate corresponding forms found in Microsoft Word® and Outlook®. Because these forms were built using our XtraEditors Library, they will seamlessly integrate into any application powered by Developer Express components.
Written in C#, the XtraSpellChecker is a 100% managed component library and ships with full source code. Its features include:
Built-in support for Ispell and OpenOffice dictionaries.
Whether you use Developer Express or standard text input controls, words that aren't in the dictionary can be underlined using wavy red lines. The XtraSpellChecker automatically checks spelling as you type, word by word. This is done in a separate thread without affecting UI responsiveness. (Animation)
Plain text format custom dictionary support.
Dictionary dialogs allow end-users to add unrecognized words to a dictionary. As one would expect from this type of control, end-users can build a custom word list as their needs dictate.
A choice of two error indication dialogs - both replicate dialogs found in Microsoft Office. (Screenshot)
Pre-built Options editor. (Screenshot)
Extended functionality for controls found in the XtraEditors Library. By introducing the XtraSpellChecker into your project, you can easily enable spell checking capabilities for Developer Express field editor controls. (Screenshot)
The SharedDictionaryStorage component allows you to establish a collection of dictionaries that can be shared by all forms in your application.
Spell checker options allow you to ignore emails, URLs, mixed case/upper-case words, repeated words and words with numbers within them.
You can force the spell checker to start scanning the text from the current cursor position or to check the current selection first.
You can control spell checker options for each individual text editor using extender properties. You can also have centralized control over these settings if you specify them using the SpellChecker component's properties. Text editor controls read settings from the spell checker by default. (Screenshot)
The XtraSpellChecker's API includes methods to check an arbitrary string, a text editor's content or all text editor controls within a specified container.
You can handle specially designed events to fully manage the spell checking process - including suppression of built-in forms, modification to suggestion lists, skipped words, manual error processing, etc.
Overview
The XtraSpellChecker is a component for our .NET controls that allows you to concentrate on the quality of your applications based on DXperience controls, without the need to use third party spell checking components.
You can drop the XtraSpellChecker component onto a form, specify the dictionary and grammar paths, and the spell-checking functionality is added to your application. Controls on the form that support the spell-checking ability display spell-checking related branches on their property pages. Spell check is initiated through code at run time by calling the corresponding methods for a control, or a group of controls, in a container. When a misspelled or a duplicated word is found, the XtraSpellChecker invokes a dialog window to let users make the choice. The spelling dialog windows are of two types, similar to those forms found in MS Word and MS Outlook. The changes made are written back to the control, and when the text check is completed, the user is informed with a message box.
The list below outlines the XtraSpellChecker component's main capabilities.
Wide Range of Supported ControlsThe XtraSpellChecker interface supports Developer Express .NET Windows Forms controls, generic System.Windows.Forms.TextBox and System.Windows.Forms.RichTextBox. For unsupported controls, the XtraSpellChecker component offers the ability to check the spelling of the text string.
Dictionary AvailabilityYou may use simple word lists or dictionaries in OpenOffice format. The advantages of OpenOffice dictionaries are that they are available for free, and are constantly updated, since they are a part of the open source project.
Custom DictionariesThis kind of dictionary can be extended by the user while checking the text.
Shared DictionariesThe SharedDictionaryStorage component holds additional dictionaries available for different spellchecker instances.
Independently Set Spelling OptionsYou can set the spelling options for each control individually. So, you can check the spelling of emails, web resources and plain text fields in different ways.
Mixed Languages Text CheckingYou can change the language and the corresponding dictionary during checking.
Ready-to-Use Spelling Dialogs with Multiple UndoYou may use predefined spelling forms, like those in MS Word and Outlook. Multilevel Undo feature facilitates the text amendment process.
eXpress Persistent Objects™
eXpress Persistent Objects represents a powerful bridge between the object world and the world of relational databases. It gives developers the freedom to build true business objects without having to deal with the tedious complexities of mapping them onto database tables. eXpress Persistent Objects for .NET completely abstracts the database layer from the developer, leaving him or her fully in the object-oriented realm. With XPO, you can build applications that are compatible with multiple database systems (currently we support MS Access, MS SQL Server, MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2 and Sybase) without making ANY changes to your code.
Easy to Use and Highly Productive
So how easy is it to use? The answer is, extremely easy... With eXpress Persistent Objects, you never again have to deal with table mapping - all you need is to define persistent object classes, and XPO will generate your database for them automatically. It will transparently handle relationships between classes as well as inheritance structures. But you never sacrifice ease-of-use for flexibility. If you ever need more control over the O/R mapping process, you can simply use our built-in attributes to provide additional mapping information to XPO and thus address most technical requirements.
With XPO, you can start your database application development directly from the object model. You never have to spend your time on tables, columns, keys and constraints - just roll up your sleeves and focus on writing code! XPO will allow you to focus on important application-specific functionality, rather than on pain-in-the-neck database issues.
eXpress Persistent Objects for .NET or XPO represents a powerful bridge between the true object world and relational databases. It gives developers the freedom to build true business objects without having to deal with the tedious complexities of mapping them to database tables. eXpress Persistent Objects for .NET completely abstracts the database layer from the developer, keeping them completely in the object-oriented realm. With XPO, you can build applications that are compatible with multiple database systems (currently we support MS Access, MS SQL Server, MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2 and Sybase) without having to make ANY changes to your code.
With eXpress Persistent Objects, you never again have to deal with table mapping - all you need to do is to define persistent object classes, and XPO will generate your database for them automatically. It will transparently handle relationships between classes as well as inheritance structures. But you never sacrifice ease-of-use for flexibility. If you ever need more control over the O/R mapping process, you can simply use our built-in attributes to provide additional mapping information to XPO and thus address most technical requirements.
Below is a list of the main features of the eXpress Persistent Objects for .NET.
Transparent and Controllable Object-Relational Mapping System - By using .NET Reflection and attributes introduced by XPO, XPO is able to map the properties of business objects to relational database tables. Object associations (one-to-one, one-to-many, many-to-many), aggregation and inheritance are all FULLY supported.
Bindable and Pageable Object Collections - With XPO.NET, you can retrieve collections of persistent objects, paginate and bind them to UI controls with ease.
Object Queries - You can specify retrieval, sorting and filtering criteria using straightforward object syntax.
The XPView class can query arbitrary combinations of calculated and aggregated values from the object model. It can used with data binding, providing a good alternative for situations where memory consumption and speed need to be optimized.
Enhanced query support includes calculated conditions that can be used with the XPCollection as well as XPView.
Full Visual Studio 2005 and .NET 2 support includes the availability of a generic XPCollection
Advanced Support for Existing Database Schemas - XPBaseObject can serve as a base class for persistent objects, allowing you to map such objects to an existing database without having to make any modifications whatsoever to the database's structure.
A shareable stateless data access layer (DAL) speeds up the process of session creation considerably, allowing for better performance and simpler implementations in ASP.NET and other scenarios where short cache lifespans are desirable.
Comprehensive Database Generation and Updates - XPO allows you to generate or update database tables based on the definitions of your persistent object classes.
Support for various DB engines - XPO provides built-in support for MS Access and MS SQL Server databases as well as for MySQL, Oracle, PostgreSql, Firebird, PervasiveSQL, VistaDB, SQL Anywhere, Advantage, DB2 and Sybase. This means you can target these database engines without having to make any modifications to your code.
XML Model with Custom Attributes - XPO.NET uses an abstract metadata model instead of .NET Reflection. .NET Reflection metadata can be obtained by means of the ReflectionDictionary which is used by default. The XPDictionary class and all its descendants including the ReflectionDictionary have the ability to supply XML data specifying mapping information and custom attributes for modifying the data accumulated via .NET Reflection.
Dynamic runtime extension of persistent classes provides for additional flexibility in the object model.
Session-less persistent classes don't need to be derived from the XPObject to be handled by XPO.
The XpoDefault class stores global settings like a connection string or a shared DAL and simplifies the implementation of multi-session applications.
Advanced Criteria System - A wide set of criteria operators allow you to build complex criteria representing the logical expressions used to retrieve objects from the database, including the aggregate operations.
Delayed Loading for Object Properties - With XPO.NET, you can improve application performance by delaying the loading of particular properties, such as those which are used rarely or contain large amounts of data.
Transaction Support - XPO.NET provides transaction support the same way as Microsoft ADO.NET does. You can easily Begin a transaction, then Commit or Roll it back using appropriate Session methods.
Using the Unit of Work principle, XPO can now perform semi-automatic change tracking. The only requirement for this is that your property setters call OnChanged().
Nested units of work are now supported. These encapsulate certain operational blocks and can be committed or rolled back together.
Optimistic Locking - Optimistic concurrency is supported for updates ("First in wins" rule).
Custom Oid - Key attribute has been added. A class property - of any supported data type - annotated with this attribute is treated as a key. Key auto-generation is supported for Guid and Int32 data types.
Precise Definition of the Column Type the Persistent Property or Field is Mapped to - The DbTypeAttribute can be used to designate a provider-specific database type for the column which the persistent property or field is mapped to.
Explicit Declaration of a String Field of Unlimited Size - Unlimited Text/Memo field size can be defined by specifying the SizeAttribute.Unlimited constant.
Custom Type Converters - Transparent conversions of persistent property values from/to database values can be implemented using type converters, for example for security purposes.
Persistent Class Template - Provides the easiest and fastest way to add persistent classes to your project.
C# Builder, Borland Delphi .NET, Mono Support - XPO is fully compatible with the Borland C# Builder, Borland Delphi.NET and the Mono C# compiler.
Session, XPCollection, XPPageSelector Components - These components allow you to set the DataSource and bind them to any visual component such as a grid control, edit control or any other data-aware controls at design time.
IBindingList Collection Behavior - The XPCollection supports the IBindingList and you can add or remove collection items via this interface at run time.
Custom Constraints and Indexes - Advanced metadata attributes allow you to specify database constraints and indexes for persistent properties or fields. By handling the SchemaInit event of the Session object you can enforce any custom database modifications.
IEditableObject XPBaseObject Behavior - XPBaseObject supports IEditableObject and you can control the object's changes via this interface.
Advanced Event System - In order to perform custom actions during object, collection and session manipulations, you can employ the events raised when the session / transaction state or collection contents are changed or the underlying database metadata for the object is about to be modified.
Database Integrity Validation - XPO keeps the underlying database up-to-date and integrated automatically, unless you choose to disable this functionality.
Nenhum comentário:
Postar um comentário