What's New in FarPoint Spread for Windows Forms 4.0?
General Features
- PDF Export: You can print a sheet to a Portable Document Format (PDF) file using the PrintToPdf method in the PrintInfo class. Use the PdfFileName property to specify the file name and location to which to save the file.
- Floating Formula Bar and Range Selection for Formula: You can set up a floating formula bar that end users can use to add formulas. The formula bar is similar to the formula editor available to the developer and has the appearance of a text box. The formula bar provides a list of calculation functions. It also provides a visual method of selecting cell ranges for the formula.
- Fractions (in Number Cell Type): The number cell can now display values in a fraction format such as 1/100. Set the FractionMode property of the number cell to display values in the fraction format. You can type values such as .01 (which will then display as 1/100) or you can type 1/100 in the cell.
- Barcode Cell Type: You can display a barcode graphic in a cell with the barcode cell. Various barcode types are available such as barcodes that are used in retail, the post office, etc. You can set various height and width properties for the barcode display.
- Range of Cells as a Data Source and Bind Data Source to Range
- Add Row (as in DataGrid)
- Automatic Completion (type ahead) for Cell in Column and Selects: You can provide automatic completion (type ahead) from user input to a cell. You would use the IAutoCompleteSupport interface and its properties to provide the automatic completion feature.
- Increased Performance
- Spread Designer Updates
- Color Picker Cell Type: You can allow your end user to select a color from a color picker using the color picker cell. A color picker cell displays a dialog for selecting a color. When a color picker cell is selected it displays a single color, which can appear either in a box or filling the entire area of the cell. Optionally text can be displayed.
Appearance Features
- Outline Grouping: You can set the display of the spreadsheet component to allow rows or columns to be grouped as an outline according to the headers. This behavior of the outline grouping is similar (but with subtle differences) from Excel and OpenOffice. This feature is also called range grouping since it operates on a range of rows or columns.
- Cell Note Indicator Customization
- Sheet Corner Customization
- Edit Control Style Customization (MS Excel-like focus indicator)
- Text Rendering
- New Default Header Renderers (and ability to highlight selected headers)
Export-to-Excel Features
- Excel 2007 XML Support (XLSX)
- Import/Export Images to Excel (XLS only)
- Import/Export Validation List to Excel (ComboBoxCellType to Excel)
- Export View-Driven Version of Data to Excel with ExcelSaveFlag
- Export Alternating Rows Settings (AlternatingRow properties) to Excel
Other Additions
- Add DataColumnName etc. to GetPreferredColumnWidth
- Hybrid Data Model Option - by sheet of whether to use hybrid data model - sparse matrix/linear optimization for small sizes, etc.
- Events for During Resize - Add events that fire as the user is resizing columns or rows, not when finished
- Event for printing header/footer to custom header/footer per page and other enhanced printing options. (HeaderHeight and FooterHeight properties to PrintInfo as well as PrintHeaderFooterArea event for customizable header and footer printing. Event contains the page number being printed.)
- Allow user to double-click row header to auto resize the row height (as done for double-clicking column header to resize the column width).
- TickLength for Slider - so easier to see ticks and when new TickColor is changed easier to distinguish
- Enumeration to have no sorting on the filter item list
- Frozen Rows and Columns in Child View (leading only, not trailing)
- IReuseEditorControl - interface for cell types to reuse editor control instead of creating and disposing it every time
- Grouping enhancements - Ability to change text in group bar area. Group info area background event text
- New skins and themes
What’s New in Spread for Windows Forms V3.00.2004?
- Enhanced VisualStyles property (headers, tab and child items, splitter boxes)
- New default action maps (extend, move, or scroll to next or previous column) based on screen coordinates
- Applying a sheet skin causes the VisualStyles property to be set to false
- New features to Spread Designer, including "Paste to Fill" capability, and the ability for the user to turn on AllowDragFill without changing the AllowDragFill property.
What’s New in Spread for Windows Forms V3?
More Display and Interaction Options
- Outlook-style grouping: You can set up the display to allow Outlook-style grouping of rows. For large amounts of data, this is helpful to display the data in the order the user needs. The user selects columns by which to sort and the component then organizes and displays the data in a hierarchy with rows organized accordingly. To select a column by which to group and display that data, either double-click on the header of that column or click and drag that column into the grouping bar at the top of the page. You can provide grouping to allow users to sort the data with multiple levels of groups by dragging additional column headers into the grouping area. You can set up the display so that the items are shown initially all expanded or all collapsed when grouping is performed. You can set the colors and other formatting of both the hierarchy names and the data in the rows when grouping is performed.
- Performance improvements: when saving or loading files, working with import and export, and when working with large spreadsheets, etc.
- New layer that allows controls to be hosted on the sheets: You can place controls on a sheet (not just on the FpSpread component but on a specific sheet) to provide more interaction with the user. Anything that can be derived from the Control class in the .NET framework can be hosted on a sheet in FarPoint Spread. The child control is placed on a separate layer, the controls layer. This is separate from the cells of the data area of the sheet and is separate from the shapes and other graphical elements on the drawing layer
- Right-to-Left ( RTL ) support for viewports, columns, rows, the tabstrip, and many other areas: You can handle support for right-to-left layouts in the FarPoint Spread component to support applications where the language is written from right to left, such as Hebrew, Arabic, or Farsi, so the user interface would be displayed naturally with right-to-left orientation. Currently these aspects of the layout are changed with the right-to-left support: column resizing on right instead of left, direction attribute in HTML export, filter and sort indicators, order of columns, popup and sticky notes and cell note indicators, scroll bars, shapes, sheet name tabs, and viewport columns
- Event handling to allow custom painting for the sheet tab and gray area
- Annotation mode for free-hand drawing
- Animated (marquee) focus border: You can customize the focus indicator for the active cell by using the FocusRenderer property of the FarPoint Spread component (which uses the IFocusIndicatorRenderer interface). For animated indicators, you can use the IAnimatedFocusRenderer interface.
- Renderer for gradient in header cells
- HitTest information for locating cursor (for accessibility compliance): You can use the HitTest method for finding the location of the cursor (pointer) on the spreadsheet component to help with development of applications where accessibility issues are concerned. Whether you are meeting accessibility standards and displaying information for the user based on cursor location, or want to provide additional interactivity based on cursor location, you can use this capability to customize the display and user interaction. You can find whether the cursor is over a part of the header, the tab strip, or a particular viewport of the data area.
- More Spread Designer GUI enhancements
- Enhanced visual styles property
- New default action maps (extend, move, or scroll) based on screen coordinates
More Cell Type Features
- New list box cell
- New multiple-column combo box cell
- Automatic completion for combo box cells
- Gradient mode for button cells
- Gradient style for progress indicator cells
- Picture style for progress indicator cells
New Undo/Redo Actions
With the undo/redo feature, you can add capability to your application to undo various actions in the spreadsheet performed by your end user. You make use of the UndoAction class and several specific classes that correspond with those various user actions. There is also a manager class that keeps track of the end user actions that can be undone and re-done.
- Cell editing undo/redo
- Clipboard operations undo/redo
- Row or column resizing undo/redo
More File Export Options
- New save sheet to HTML table: You can save an individual sheet or a range of cells in a sheet to an HTML table in a file or stream if you need to display the sheet in a Web browser. This does not save the entire spreadsheet, only an individual sheet. This saves as much of the formatting information or presentation-related settings as possible, depending on whether that information can be translated to an HTML element or attribute.
- New save spreadsheet data to simple XML: You can save the data in the spreadsheet (on an individual sheet) to an XML file or stream if you need to process the data further and want the data in a structured format.
More Formula Capabilities
- More formula functions bringing the total to 320 different functions
- GoalSeek capability
- ROW, COLUMN functions
- VALUE function
Spread for Windows Forms provides a completely new, object-oriented spreadsheet control for use in the Microsoft .NET framework. Spread for Windows Forms now includes a 2.0 framework and a 3.5 framework build. Spread for Windows Forms supports Tablet PC with InkNotation. You can control the appearance and the user interaction in a variety of ways. With most of the Spread’s appearance and functionality based on underlying models, the advanced developer has complete control over the component. Import and export capabilities provide another source of flexibility when developing and exchanging designs. Spread for Windows Forms can handle data from comma-delimited text files as well as multiple spreadsheets from Microsoft Excel files. The contents of a sheet may be saved as a Microsoft Excel file (BIFF8 format) or stream, text file, or as a Spread XML file.
You can customize the appearance in a variety of ways, among them:
- Work with Multiple Sheets
- Set the Background Color for the Sheet
- Display Grid Lines on the Sheet
- Customize the Sheet Corner
- Apply a Skin to a Sheet
- Create a Custom Skin for a Sheet
- Customize the Number of Rows or Columns
- Set the Row Height or Column Width
- Resize the Row or Column to Fit the Data
- Hide a Row or Column
- Create Alternating Rows
- Customize the Style of Header Cells
- Show or Hide Headers
- Customize the Default Header Labels
- Customize Header Label Text
- Create a Header with Multiple Rows or Columns
- Create a Span in a Header
- Color a Cell
- Align Cell Contents
- Resize the Cell to Fit the Data
- Customize Cell Borders
- Create a Complex Border with Multiple Lines
- Create a Range of Cells
- Spanning Cells
- Merge Cells Automatically
- Allow Cell Data to Overflow.
- Create and Apply a Style for Cells
Far Point Spread for Windows Forms Main Features
Fpoint Spread can import and export native Microsoft Excel .xls files, multiple sheets and cross-sheet formula referencing, hierarchical display, grouping, conditional formatting, sorting, row filtering, searching, zooming, undo/redo, data binding or unbound modes, and splitter bars, you can create a solution for any application. Farpoint Spread also offers complete customization at cell level with the 18 cell types (including the ability to create your own custom cell types), cell spans, multiple headers, shapes, 320 built-in calculation functions, cell tips and notes, and much more.
Multiple Sheets
You can use multiple sheets in the spreadsheet. Use multiple sheets to categorize your information, similar to worksheets in Microsoft Excel
Customized Appearance (Skins)
Easily and quickly configure the appearance of Spread using predefined skins or create and save your own custom skins. Custom skins can be shared with everyone in your development team, allowing a consistent look of the control across applications
Spannable Cells - You can span cells. Create cell spans to join cells together, allowing one cell to span across multiple cells to include, for example, your company logo. You can span data cells or headers. You can also have Spread automatically merge cells that are the same value
Headers with Multiple Columns and Rows - You can have multiple column headers and row headers. You can also span header cells. Use headers with multiple columns or rows to organize your column and row information
Sorting Capabilities
You can sort rows or columns or a range of cells. Programmatically sort data by rows or columns. Or allow your users to sort rows automatically simply by clicking on the column header. The methods at the sheet level allow these kinds of sorting: Sorting Automatically by Column, Sorting Columns or Rows Manually, Sorting Data in a Range
Customize Interaction with Rows and Columns
- Move Rows or Columns: You can allow the user to drag and move rows or columns
- Freezing Rows or Columns:You can freeze (make unscrollable) any number of the rows or columns in a sheet. The frozen rows are always the top rows. The frozen columns are always the leftmost columns
- Resize Rows or Columns: You can allow the user to readjust the size of a row or column in the control
Search Data
You can search for data in any of the cells in the workbook by specifying the sheet and the string of data for which to search.
Filtering Data
You can customize the user experience for filtering data on a sheet. With row filtering, you can allow the user to filter the data in columns on a sheet and display only the rows of data which meet criteria from a drop-down list or change the appearance of rows based on that filtering. You can use the basic default filtering or you can customize practically every aspect of the filtering.
User interaction with individual cells
You can control the user interaction with individual cells (or a range of cells):
- Allow the end user to drag-and-drop data from one range of cells to another. You can specify whether the user can select a cell or range of cells and drag and drop them to a new location in the same spreadsheet or another spreadsheet on the control
- Allow the user to drag-and-fill data from one cell or a range of cells to another cell or range of cells. With a cell or range of cells selected, you can fill other cells either in a row (or rows if more than one column is selected) or a column (or columns if more than one row is selected)
- Add a note to a cell or range of cells
- Add a tag to a cell or range of cells. If you prefer, you can associate data with any cell in the spreadsheet, or the cells in a column, a row, or the entire spreadsheet
- Lock a cell or range of cells and make it unavailable for editing by the end user. You can make the appearance of locked cells different so that it is noticeable by the user. You can also specify a different color (for background or for text) in locked cells
- Set up conditional formats within cells that determine the formatting of the cell based on the outcome of a conditional operation, for example, the value is less than 0. You can use a named style to specify various formatting options such as borders and colors. The conditional format uses string values and can be a comparison such as less than, greater than, between, or equals.
- Allow or restrict the display of buttons in cells that are the specific graphical cell types that allow buttons. Use the ButtonDrawMode property to set the limits on where buttons can be displayed
Data Selection
You can control what the user can select and how it appears. You can control whether users can only select:
- Cells
- Rows
- Columns
- Sheet
- Combination
- Cells, ranges of cells, or multiple ranges of cells
- Only rows, no editing
- Only rows, editing
- Multiple contiguous rows, no editing
- Multiple noncontiguous rows, no editing
Multiple Cell Types
You can define a feature-rich set of cell types. Use Spread's cell types or create your own to determine what kind of data can be entered into a cell, avoiding unnecessary checks and validations by the developer and providing a natural way for your user to enter data
- Currency Cell
- Date-Time Cell
- General Cell
- Mask Cell
- Number Cell
- Percent Cell
- Regular Expression Cell
- Text Cell
- Display Spin Buttons
- Button Cell
- Check Box Cell
- Combo Box Cell
- Hyperlink Cell
- Image Cell
- Multiple Option Cell
- Progress Indicator Cell
- Rich Text Cell
- Slider Cell
Hierarchical Display
You can create a sheet within a row to display relational data hierarchically, with parent rows and child views of related data
Built-In Functions
You can use built-in functions and operators to develop formulas and perform calculations. Add calculations quickly to your applications by using any of over 200 pre-defined algorithms or add your own custom functions.
- Place a Formula in Cells
- Specify a Cell Reference in a Formula
- Use a Circular Reference in a Formula
- Nest Functions in a Formula
- Recalculate and Updating Formulas Automatically
- Allow the User to Enter Formulas
- Create a Custom Name
- Create a Custom Function
Supported Functions include Date and Time Functions, Engineering Functions, Financial Functions, Logical Functions, Math and Trigonometry Functions, Statistical Functions, Text Functions
Printing
You can print any of several parts of the spreadsheet, offer print preview with zoom, etc..
- You can print a sheet in the control by calling the FpSpread.PrintSheet method or specify that only a range of cells within a sheet prints, rather than the entire sheet, all or some of the pages for the sheet, print child sheets of a hierarchy and manage how they are printed
- You can customize the printing by setting the properties of a PrintInfo object and setting the PrintInfo property of a sheet to that object. The PrintInfo object has the settings for customizing the printing of a sheet. You can provide header and footer text that appears on the printed pages. You can print a background image or a watermark when the spreadsheet is printed. Also, Spread provides a way to automatically determine the best way to print your sheet.
- You can preview what the printed pages will look like for a sheet and you can allow your end user to preview the printing.
Data Binding
You can bind the control to a data set, such as data in a database, or to anything that the .NET framework allows, such as an IList object:
- Bind to a Data Set
- Add an Unbound Row to the Sheet
- Customize Column Headers for Bound Sheets
- Customize Cell Types for Bound Sheets
- Customize Column and Field Binding
- Work with Hierarchical Data Display
Multiple Viewports
You can allow more than one pane or viewport in the spreadsheet to allow you to view data from different parts of the spreadsheet in one display. Display data in multiple viewports and allow your user to customize their own viewport view
Spread Designer
You can use the Spread Designer to design your control and to create a prototype quickly. UseSpread Designer to reduce development time by allowing you to customize the look and feel of the control at design time using an intuitive, easy-to-use interface.
The Spread Designer creates a snapshot of the spreadsheet control. Once all the changes are made, you apply the changes to the spreadsheet control on your form. You can also open files from within Spread Designer and save your design as a file.
Import and Export Capabilities
You can save data from Spread into several different file types and open data files from several different file types into Spread. At design time, you can use the Spread Designer to save the Spread to any of various file types or open previously saved files. With code, you can save the whole control, a particular sheet, or data from a particular range of cells to several different file types or streams. Similarly, you can allow your users to handle file operations for a range of file types.
Save Data to a File:
- To a Spread XML File
- To an Excel (.xls) File
- To a Text File
Open Existing Files
- Spread XML File
- Excel (.xls) File
- Spread File
- Custom Text File
Customize the Display of the Cursor
You can set the cursor or pointer to appear differently for different parts of the display. The control uses one cursor for locked cells (CursorType enumeration equal to Locked) and one cursor for unlocked cells (CursorType enumeration equal to Normal).
Allow the User to Zoom
You can allow the user to change the scale of the display of the control, in other words to zoom in or zoom out. Use the AllowUserZoom property of the FpSpread control. This allows the user to zoom in or out by pressing the Ctrl key and turning the mouse wheel. The user can zoom in up to 400% and out to 10% of the default display. You can also programatically adjust the zoom.
Add a Context Menu to a Control
You can create a context menu and add it to the ContextMenu property of the FpSpread control. The control automatically displays this menu when you right click on the control.
Scroll Bars
You can control the display and operation of the scroll bars on the control:
- When to display either a vertical or horizontal scroll bar or both on the edges of the sheet in the control. You can hide them, display them as needed (when there are more rows or columns than can be displayed), or display them all the time
- The dimensions of the scroll bars
- Whether the spreadsheet scrolls across the display when the user moves the scroll box (tracking)
- How much of the spreadsheet the end user can scroll through
- Whether to align the scrolls with the last row and column