Invalidates this Header.
Namespace: Dapfor.Net.UiAssembly: Dapfor.Net (in Dapfor.Net.dll) Version: 2.10.3.24917 (2.10.3.24917)
Syntax
C# |
---|
public void Invalidate() |
Visual Basic |
---|
Public Sub Invalidate |
Visual C++ |
---|
public: void Invalidate() |
F# |
---|
member Invalidate : unit -> unit |
Remarks
If the header is located in the hierarchical grid (not top-level header), all duplicates in visible surface are repainted.
It is well known that System.Windows.Forms controls use standard Windows API based on window messages. To repaint a certain part of a control, it should invoke the Control.Invalidate(Rectangle rect) method, where Rectangle specifies location and size of the client surface that should be repainted. In general, the calculation of screen coordinates of an element is a quite complicated process, especially in a hierarchical data grid. The .Net Grid provides very convenient API to repaint different elements such as cells, rows, columns etc.
- Cell.Invalidate() - Repainting of a single cell.
- Row.Invalidate() - Repainting of a single row.
- Header.Invalidate() - Header invalidation. If the header is located in the hierarchical grid (not top-level header), all duplicates in visible surface are repainted.
- Header.InvalidateRows() - Repaint all rows in the grid on the same hierarchical level as the header.
- Column.Invalidate() - Column title invalidation.
- Column.InvalidateCells() - Repainting of all cells in the grid that are related to a certain column located on the same hierarchical level as a header.
Copy | |
---|---|
public void InvalidateUiElements(Grid grid) { //Add a new header on the top hierarchical level (level 0) Header header1 = new Header(); header1.Add(new Column("Name")); header1.Add(new Column("Price")); header1.Add(new Column("Quantity")); grid.Headers.Add(header1); Header header2 = new Header(); header2.Add(new Column("Name")); header2.Add(new Column("Date")); grid.Headers.Add(header2); //Add some data objects Row product1 = grid.Rows.Add(new Product()); Row product2 = grid.Rows.Add(new Product()); //Add some customers to the first product Row customer1 = product1.Add(new Customer()); Row customer2 = product1.Add(new Customer()); //Add some customers to the another product Row customer3 = product2.Add(new Customer()); //Expand all rows grid.Rows.ExpandAll(); //Invalidate the cell customer1["Date"].Invalidate(); //Invalidate the row customer1.Invalidate(); //Invalidate the top-level header header1.Invalidate(); //Invalidate product1 and product2 header1.InvalidateRows(); //Invalidate the column's caption 'Date' on the header2 header2["Date"].Invalidate(); //Invalidate the cell 'Date' of each customer header2["Date"].InvalidateCells(); } |