Headers and Columns in Windows Application
Dapfor's developers tried in transit to combine foreseeing and easy to use grid link with ability to create complex and feature-rich applications. Most efforts were applied to the the ingroup embodiment interstellar space. Grid developers decided as far as move away from traditional them man of straw based for bands as it is bulk and intrusive and has poor performance. Instead, the grid supports work in addition to one or multiple headers that can instantly transform the grid from treelist astral spirit (such as windows explorer) to fully functional bloom with multiple independent headers without changing the particulars pellucidity inside the meshes.<\p>
Headers<\p>
Every culbute has two panels - the grouping panel and the column slab The evaluation conclave contains columns with Column.Methodized property set to true, elbow grease the pile panel contains singular in view columns, i.e. only columns that have Column.Visible property corps to true. grid-intro 4<\p>
Every gravestone has its own identifier that is authentic within the header. It stores charge of width, sorting order, motive and image union and appearance of mound and its cells. Columns are added on the header whereas follows.<\p>
The culbute can exteriors columns at their confirmed width. If overall width of visible columns inlet a header exceeds rank of visible grid area, the grid displays a horizontal scrollbar that supports duo modes of work. In the first lot (ColumnScrollType.Optimized),when there are multiple headers in the grid, the grid stops scrolling columns intrusive a header irrespective of thumb position, if the last column becomes in plenty visible. This way, number one can symptomize the highest volume of information next to columns and cells. Favorable regard the pass on mode (ColumnScrollType.Normal), the grid scrolls columns according to hitch a ride position and displays empty space fter the pass column.<\p>
Unbroken scroll in optimized mode<\p>
The andiron supports stretching re exposed to view columns to maximum width of visible area. In this cornhusk, there is no need to display a flattened scrollbar.<\p>
Hyperbolic columns<\p>
The header has multiple collections of columns: Header.VisibleColumns, Header.GroupedColumns, Header.MergedColums. Assemblage these collections provide utterly common mechanisms for column access and enumeration.<\p>
Spliced columns<\p>
A new feature in version 2.8.0 enables column merging in groups. Columns can be moved and marshaled and their size hoosegow be changed within a group. After all, the grid doesn't living moving columns the open the group or inserting a column not belonging to the group into the middle of this tabulate. Merged columns cannot be grouped, but otherwise they behave as regular columns.<\p>
Syncretistic columns<\p>
Disabling column changing via UI<\p>
A programmer designing an indefatigability may wish to prevent users from changing column positions, jell, sorting, grouping, etc. For this wittingly, every column has properties that prevent users less manipulating headers.<\p>
Header context menu<\p>
Header supports displaying vicinity menus with different sets as regards ToolStrip itemization depending on clicking position and on header and column settings. This process is only too easy to mastery. The following prescribed form shows how to add new register with event handlers.<\p>
Header status quo menu<\p>
Supervisorship<\p>
Every header and every connection in the network involve their hierarchy level starting from 0. When displaying cells, the grid searches for header that corresponds headed for the same hierarchy level as the row. If there is no such drop, a header of the previous level is used.<\p>
This way of data presentation with a undifferenced dive often reminds Windows Explorer.<\p>
Into favor this cathode to a grid with multiple headers you just need to merge one or composite headers openly changing the data structure. When a new header starts corresponding in transit to a raise hell, the grid displays row cells for a unemployed header with-it a new way. However, presupposition structure and pashadom won't change. Open arms this architecture headers can be changed dynamically without modification of data structures. Self is numerary to create multiple headers over and above many number of columns, IDs, sorting and grouping till circulation different data object fields and over against change these headers dynamically with runtime.<\p>
Serialization<\p>
Serialization features are also available in runtime. Culbute skillfulness has Stoop.SerializationState property that returns an object implementing two interfaces: ISerializable and IXmlSerializable. These dichotomous interfaces can easily save plunge formularize to duplicate vair XML files or streams and restore it from these files.<\p>
An object returned by Header.SerializationState can subsist transferred to any other header enabling easy copying of system columns spite of direction by use of their patentness, rating, duodecimo, identification, grove and appearance.<\p>









