We are currently evaluating the use of radgrids inside a radwizard to create a wizard that needs to collect validated data during entry in tables and that needs to send the collected info to a process at the last page of the wizard (classic behavior).
The idea seems mainstream but the use of grids and grids inside a wizard is not so easy.
Here is some problems we are facing:
1)We use fully client side radgrids: their initial data is populated by passing them empty lists of objects as a DataSource.
Rows can then be added manually using a button which triggers a 'fireCommand("InitInsert", "")'.
The users can batch edit the cells.
Can your please provide a working exemple of a RadGrid properly set up to be used fully client side and of the proper way to get its client values?
2)We tried setting ClientDataKeyNames to get the RadGrids data more easily: manually created rows with InitInsert, even when data has been entered manually, always provide empty values using getDataKeyValue("xxx") on the row.
Which is understandable as no data is actually bound.
How to properly get data from a RadGrid which is used this way?
As for now, we get the cells with js and search them for values. :(
3)Rows can also be added programmatically. Rows containGridTemplateColumns with DropDownList EditItemTemplate: How to programmatically set a RadDropDownList value in a client side RadGrid?
<telerik:GridTemplateColumn UniqueName="UserLanguage" SortExpression="UserLanguage" HeaderText="UserLanguage" DataField="UserLanguage" ShowFilterIcon="false"
<HeaderStyle Width="50px" />
<telerik:RadDropDownList RenderMode="Lightweight" ID="UserLangDD1" runat="server" Width="200px">
<telerik:DropDownListItem Value="0" />
<telerik:DropDownListItem Value="F" Text="Français" />
<telerik:DropDownListItem Value="E" Text="English" />
I guess the problem resides in DataBinder.Eval() as no data is actually bound to the grid.
We tried setting UserLanguage with the display value ("Français" or "English") which does not work.
We tried to set UserLangDD1 with the Value (F or E) which does not work either.
4) The radWizard's Steps contain also other controls which are part of a validation group for each Step.
The validation works for these controls but does not apply to the fields of the rows which have been added to the Radgrids, despite these Column have as well Validators referencing the same ValidationGroup as the controls outside the Grids.
How to make a RadWizardStep apply RequiredFieldValidator on Grid Columns of RadGrids that it contains?
5) In a RadGrid, how not to block the user to getting out of a cell containing a Required control which has not yet been filled?
Currently, when a required control of a grid is not filled, it is forbidden to edit another control of these row, is there a workaround?
6) How to properly make a batch editable GridBoundColumn launch a popup (or equivalent) with a list of checkboxes as potential values and disallow users to actually write in this cell?
Any direction will be highly appreciated!