 ---------------------------------------------------
|                                                   |
| Multi-Column Drop-Down List                       |
|                                                   |
| iGrid.NET Extra Samples                           |
| Copyright (c) 10Tec Company                       |
| All rights reserved                               |
|                                                   |
| Available editions:                               |
| >> iGrid.NET 6.0, VS2010+ C#/VB.NET               |
|                                                   |
 ---------------------------------------------------

Description
===========
A ready-to-use class from this sample can be used to implement a fully customizable multi-column drop-down list for the combo cells in your grids. You can adjust this drop-down list to your needs because iGrid.NET itself is used as a drop-down control.

Short Code Explanation
======================
The main part of the sample is located in the iGMultiColDropDownList class. This class is an implementation of the IiGDropDownControl interface, which allows you to show any control as a cell drop-down control.

Internally the iGMultiColDropDownList class uses another iGrid instance to show the multi-column list. When you add columns or rows to an iGMultiColDropDownList object, it adds them to its internal grid. You can dynamically change the size of the drop-down list, scroll its contents, sort, move columns, etc.  practically all the things you can do in iGrid.

Pay attention to the fact that our multi-column drop-down list inherits many visual settings from the parent grid, such as its font and the Right-to-left setting. When iGMultiColDropDownList should be displayed on the screen, iGrid raises its GetDropDownControl method. This method is a part of the general drop-down controls infrastructure defined in the IiGDropDownControl interface. The corresponding visual settings are applied to the internal grid in this method. If you need to inherit other settings from the parent grid in the drop-down list, add your initialization code to this method.

Change List
===========
[2019-Apr-08]
1. Fixed the problem with the exception thrown after you typed some characters into a combobox cell and clicked the combobox button to open the drop-down list. Now, when you enter a character in these cells, the drop-down list is opened automatically and filtered by the entered character. Subsequent key strokes are added to the filter string.
[2019-Mar-19]
1. Added the ability to read the field values of the selected drop-down list item with the iGMultiColDropDownListItem.GetFieldName method.
2. Added the ability to filter the drop-down list by any column (see the new iGMultiColDropDownList.SetFilterCol method).
[2018-Aug-31]
1. The iGrid.NET 6.0 compatible version of the iGMultiColDropDownList class was implemented. It implements the new SetTextRenderingHint method added to the IiGDropDownControl interface in iGrid.NET 6.0.
