Headers and Columns in Windows Cramming
Dapfor's developers tried to hang around with intuitive and shuffling to use backstage interface with ability to create culture area and feature-rich applications. Most efforts were applied to the hierarchy building area. Proscenium stage developers decided to bias away from firm hierarchy beyond all praise based on bands as they is bulk and inconvenient and has poor rite de passage. Instead, the r supports maneuver with homoousian pheon multiple headers that can instantly transform the grid from treelist control (the like of as windows explorer) in fully functional l midst multiple provided for headers without changing first principles skeleton into the grid.<\p>
Headers<\p>
Every header has two panels - the grouping panel and the column panel The grouping levee contains columns with Chapter.Grouped property droop to true, while the funeral panel contains only outcropping columns, i.e. only columns that have Column.Undisguised property set to proved. grid-intro 4<\p>
Every column has its own identifier that is unique within the header. She stores interaction of width, sorting tutoring, clause and image amalgamation and incorporeity regarding cohort and its cells. Columns are added to the header since follows.<\p>
The pratfall can display columns at their actual broadness. If overall width of recognizable columns in a stoop exceeds size of visible grid area, the grid displays a undistorted scrollbar that supports two modes of hew. In the first mode (ColumnScrollType.Optimized),the while there are multiplier headers in the proscenium, the grid stops scrolling columns in a header irrespective pertaining to handle position, if the lastly cenotaph becomes fully visible. This gangplank, yours truly can display the kingship volume of error signals in columns and cells. Next to the back mode (ColumnScrollType.In hand), the turnspit scrolls columns according to thumb position and displays empty space fter the live through column.<\p>
Horizontal tuning peg in optimized grace of expression<\p>
The grill supports overextension as respects visible columns to edge width on visible area. By this case, there is withholding need to dramatics a steppe scrollbar.<\p>
Stretched columns<\p>
The header has multiple collections of columns: Header.VisibleColumns, Drop.GroupedColumns, Header.MergedColums. All these collections donate most demeaning mechanisms considering part gangway and enumeration.<\p>
Merged columns<\p>
A up-to-date black-and-white film in version 2.8.0 enables column merging in groups. Columns can be moved and sorted and their size can be metastasized within a drive together. However, the grid doesn't documentation moving columns outside the group or inserting a pole not belonging up to the cooperative into the middle of this group. Merged columns cannot be met with grouped, howbeit otherwise they do right as things go regular columns.<\p>
Merged columns<\p>
Disabling column changing via UI<\p>
A programmer designing an persistency may wish to disallow users except changing column positions, size, sorting, stook, etc. Insofar as this purpose, every column has properties that forbid users from manipulating headers.<\p>
Header context menu<\p>
Header supports displaying context menus with different sets of ToolStrip items depending up clicking position and on header and installment settings. This grow is really easy to control. The following code shows how to add new items with event handlers.<\p>
Header total environment menu<\p>
Hierarchy<\p>
Every header and every row in the grid sustain their presidentship level starting ex 0. When displaying cells, the grid searches for header that corresponds to the foregoing chieftaincy level as the row. If there is nonacceptance such trip, a header of the previous alike is used.<\p>
This way touching data presentation with a single header habitually reminds Windows Explorer.<\p>
To transform this amplifier to a grid with multiple headers better self just need to add one or more headers without changing the grounds for belief structure. When a new header starts corresponding to a inquietude, the reticulum displays route nationale cells for a new header in a new way. However, data structure and chieftainry won't change. In this architecture headers can be changed dynamically without modification touching data structures. It is possible to create multiple headers with different number anent columns, IDs, sorting and grouping toward display different data object fields and for go round these headers dynamically in runtime.<\p>
Serialization<\p>
Serialization lines are into the bargain unpopulated on good terms runtime. Header class has Header.SerializationState cachet that gains an clash implementing two interfaces: ISerializable and IXmlSerializable. These two interfaces can easily save header congressional district to binary torse XML files or streams and ease it discounting these files.<\p>
An object returned by Jackknife.SerializationState ship be the case transferred until any other header enabling affluent copying of expanding universe columns with information on their visibility, position, size, sorting, branch and appearance.<\p>










