Hello,
I'm using an UltraWinGrid.I would like to use something like an UltraCombo in a cell.But UltraCombo doesn't support a "Filter UI Type = Filter row".As my customers could have many data, it is better to provide something for filtering.One item of this "UltraCombo" will have 3 or 4 columns.I tryed with an UltraTextEditor defined as the EditorComponent.
On the button Right, I defined A DropDowEditorButton with an another UltraWinGrid as Control.But I don't understand how I can get the selected row of my "sub UltraGrid"?
Thanks.
In order to display multi-column dropdown inside the UltraGrid, what I can suggest you is using UltraCombo as an editor component of the column you wish to use it in. After that in order to enable search/filter like functionality you need to set the AutoCompoleteMode and AutoSuggestFilterMode for the needs of your application. Please note that these properties should be set on the column itself, not on the editor component.
I am attaching a sample that demonstrates this. To be able to search/filter the UltraCombo I have used the AutoCompleteMode to Suggest, which shows only the values that match a certain criteria. By setting the AutoSuggestFilterMode to Contains, the UltraCombo will show only the values that match the filter mode criteria, containing the value that the user typed based on the DisplayMember that was set to the editor component.
Please test the sample on your side and let me know if you have any questions.
Regards, Ivan Kitanov
UltraComboSearch.zip
Thank you Ivan.
I'm the creater of this post.
But, for "filter" an UltraCombo, you have to clic on the filter icon, select the type of filter (equals, contains, like.....) and the n define the value filter.
My expecation is to avoid these clics. Is there a way to have the Filter in a filter row, like inside an Ultragrid?
If it's not possible, which class/interface should my custom control implement to be definable as an EditorComponent and to do the trick?
Best regards.
Hello Christophe,
The sample that I attached above displays how a search inside the data of the UltraCombo could be done AutoCompoleteMode and AutoSuggestFilterMode, which apply the search based on the DisplayMember of the UltraCombo. This is a simple approach that is useful if you don’t need any complex filtering. If you need more complex way of applying filtering I can suggest you taking a look at this forum post. It describes how the BeforeCellListDropDown can be cancelled and how to show an UltraGrid in the place of the dropdown list of the combo. In this UltraGrid you can set FilterRow as its FilterUIType, however you would need to handle the size and the location of the gird, its visibility as well as the selection of values.
Please let me know if have any questions.
Hello Ivan
The UltraCombo does not match my expectations because datasource of the ultracombo is different on each row.
here is an example:
R1 - "Toto" - RetrictData = true UltraCombo DataSource = [ { "TO1" , "Toto company" } , { "TOTO" , "Toto sarl" } ]
R2 - "Mim" RestrictData = true UltraCombo DataSource = [ { "MM1" , "Master Information Manager" } , { "MX" , "Mini Mouse" } ]
R3 - "Alien" RestrictData = false UltraCombo DataSource = [ all the third parts of the company ]
The number of all third parts of the company could be more than 300 000.
An another behavior, is when the RestrictData value (bool) is changed.
- When true, then the UltraCombo dataSource is a sublist of all thirdParts.
- When false, then the UltraCombo dataSource the list of all thirdParts.
I tried with the event BeforeEnteringInEditMode but:
If I don't call the UltraCombo.DataBind() method, the number of item in the UltraCombo will not be refresh.
If I call the UltraCombo.DataBind() method, the processing time should be more than 15 seconds which is not acceptable and not usable.
Do you have a "trick" that should match with my expectations?