We have checked Sample Code provided by you (Infragistics team )does not mention about any specific control for multicolumn combo,
http://ko.infragistics.com/community/forums/t/75163.aspx
a) Is there any specific control for Multi Column Combo instead of template use?
b) We are trying to use the solution provided by Infragistics team but we are facing some problems
1. updating the selected value from the combo to multiple column of grid.
Ex. Material No and Material Name display in drop down combo.
When We select Material No then corresponding Material name should be assign to another column of Grid.
Ex. select Material No -"00000001" then "GMCSMATERIAL" should be assign in Next column. (see the attached file for your reference)
2. When a records is selected(click) on dropdown value in multi combo then combo should be fade out(invisible).
3. How can we use function key to open drop combo inside grid.
Ex. If I press F1 then Combo will visible to user.
Hello Vivek,
Thank you for contacting Infragistics!
Concerning having a multi-column dropdown the way to achieve this with the Infragistics controls is through a template in the WebDropDown. In the template you can have as the documentation describes have a WebDataGrid in the template or you can create an html table.
With updating the selected value, selecting a value in the dropdown is only expected to update the value of the column that dropdown is in. If you want to update another column based on that selection you will want to do it manually.
For this I recommend you use the CellValueChanged event of the EditingCore behavior:
http://help.infragistics.com/doc/ASPNET/2014.2/CLR4.0/?page=Infragistics4.Web.v14.2~Infragistics.Web.UI.GridControls.EditingClientEvents_members.html
http://help.infragistics.com/doc/ASPNET/2014.2/CLR4.0/?page=Infragistics4.Web.v14.2~Infragistics.Web.UI.GridControls.EditingClientEvents~CellValueChanged.html
Doing so you can get access to the other cell and set its value:
function CellValueChangedEvt(sender, args) { var value = args.getCell().get_value(); args.getCell().get_row().get_cellByColumnKey("ColumnKey").set_value(newValue); }
function CellValueChangedEvt(sender, args) {
var value = args.getCell().get_value();
args.getCell().get_row().get_cellByColumnKey("ColumnKey").set_value(newValue);
}
To exit edit mode on close of the dropdown you can handle the DropDownClosed client side event of the dropdown and force the cellEditing behavior to exit edit mode:
function DropDownClosedEvt(sender, args) { var grid = $find("<%=webdatagrid1.clientid%>"); grid.get_behaviors().get_editingCore().get_behaviors().get_cellEditing().exitEditMode(true, true); }
function DropDownClosedEvt(sender, args) {
var grid = $find("<%=webdatagrid1.clientid%>");
grid.get_behaviors().get_editingCore().get_behaviors().get_cellEditing().exitEditMode(true, true);
If you want to enter edit mode on press of a function key you can use the edit mode actions of the CellEditing behavior and set “EnableF2” to true:
<ig:CellEditing> <EditModeActions EnableF2="true" /> </ig:CellEditing>
<ig:CellEditing>
<EditModeActions EnableF2="true" />
</ig:CellEditing>
Please let me know if you have any further questions concerning this matter.
Hello,
Thank you for your quick response.
We have used infragistic control for Client Server Application. Result is good.
Now, We are planning to migrate our current running application into the web using webdatagrid & webdropdown.
Currently we are making sample to take decision to use infragistics or use other grid?
below points are minimum requirement to take decision.
a. Multicolumn combo with manual input (It is done using EnableCustomValues=true & EnableCustomValueSelection=true, else user can not enter using keyboard)
b. the input values existence check in multicolumn combo(template dropdown using Grid).
Kindly support us.
Regards,
Vivek
Thank you for the update. Setting EnableCustomValues and EnableCustomValueSelection to false does not prevent the user from typing to select an item. All it does it prevent the user from typing a value that isn’t in the WebDropDown.
Can you please explain your point b further? What are you trying to achieve with this?
Thank you for your Quick responce
We are preparing Two Sample Screen.
First, (Without Grid), Only Multi Column Combo exist.
When User Enter value in Combo then Validation check at Client side (Value should Exist in Multi Column Grid other wise Error Massage shown "Data not Exist)
and Based upon corrct Value, Next Combo will be bind to datasource.
In this sample form I have used Three multicolumn combo(using grid).
1.Section code
2.Line Code
3.Material no
For more detail, Please see the zip file for your refernce.
I will also post next query [Sample Screen with grid and Grid itself havemulti column combo]
In continuation of previous queries,we are also developing another sample form.
Form include a webdatagrid, in this webdatagrid, a column contains multicolumndropdown template(using grid).
1.On selecting the item from multicolumn dropdown, we are unable to update the selected values in grid active cell.
2.Multicolumn Dropdown doesn't close on selecting the item.
3.How to set focus in specific cell through javascript.
4.How to disable pager control when grid become dirty.
Thank you for your update. I have done some looking into this matter and have created a sample to demonstrate this behavior. As I mentioned before you are going to want to use an HTML table instead of a WebDataGrid inside the template of the WebDropDown.
I have created a sample that demonstrates how you can achieve multi-column dropdown providers for the WebDataGrid. Note as with the other method you are going lose type ahead as this isn’t supported with multi-column as there is no way for the dropdown input to filter/search the WebDataGrid values.
As for your last inquire it sounds like you want cascading combos. You will want to look into the following documentation on how to achieve this behavior:
http://help.infragistics.com/doc/ASPNET/2014.2/CLR4.0/?page=WebDropDown_Cascading_WebDropDown_Controls.html
Thank you for your support.
We have checked your sample code.
Now we have changed the Multicolumn combo template(now we are using HTML Table instead of webdatagrid as template).
Currently we are facing following problems:
We want to bind datasource directly to inhance speed. But webdatagrid, we bind directly in grid.
Detail:
In webdropdown I changed DisplayMode="DropDownList" to DisplayMode="DropDown" , so I was able to type in it.
But it does not allow Backspace.
If I use(EnableCustomValues="True" EnableCustomValueSelection="True") then there is any way to
validate the entered value as all required data is available in HTML Table.
I want to create a new datasource and bind it to Multicoumn combo “B”.
For 4th problem see the attached file.