Windows Forms Sample: FlexGrid Showcase (C#)
Added GrapeCity FlexGrid Showcase sample (#3869)
* Added GrapeCity FlexGrid Showcase sample
* Removed "Unnecessary blank line"
* Renamed variable "title" to "columnTitles"
* Removed array allocation.
* Renamed "bs" vaiable to "bindingSource", wrapped IC1FlexGridRowDetail.Setup() method body with "using" block to dispose bindingSource.
* Renamed "srSz" variable to "scrollableRectangleSize" and "sz" variable to "labelSize"
* Removed "FlexGridShowcaseDemo.sln"
* Refactored MainForm.cs, fixed typos, changed screenshots
* Used var instead of explicit type "Bitmap"
* Changed "Countries" enum name to "Country"
* Changed "DrawColors" enum name to "DrawColor"
* Used string interpolation instead of "string.Format" method
* Formatted dataSizes list initialization
* Formatted rulesDict dictionary initialization
* Used PascalCase for constants
* Use type pattern matching with decimal value
* Use type pattern matching with int value
* Check "columnName" firstly for change value
* Check "columnName" firstly for rating value
* Added a blank line
* Renamed "_rnd" static field to "s_rnd"
* Overrided OnLoad method instead of using event handler
* Used "_rnd.NextDouble() >= 0.5" for generate random boolean
* Used count of descriptions as maxValue for s_rnd.Next(int) method
* Fixed parent and child columns in relation, changed custom detail control to obtain data from child row of relation
* Optimized linq queries to obtain details data
* Renamed "_flex_GridChanged" to "_flexGrid_GridChanged", "_flex_OwnerDrawCell" to "_flexGrid_OwnerDrawCell" methods according control field name
* Refactored LoadImage method and creation of C1BitmapIcon
* Removed "Products" column from FlexGrid
* Removed EnableDefaultCompileItems, EnableDefaultEmbeddedResourceItems, EnableDefaultNoneItems properties and explicit listing of files
* Replaced using of linq methods with condition for adding themes into combobox
* Replaced checking for null and length with null-conditional operator
* Used readonly modifier for _dataSet, _rulesManager, s_rnd fields, removed initialization for _rules field
* Use constant pattern matching with null values
* Used object initializers for aggregate definitions
* Used type pattern matching instead of "as" operator
* Used explicit types instead of "var" keyword where the type is not apparent from the right side, cleared and organized usings
* Updated screenshots
* Added information about used GrapeCity packages and license to README.md