<!-- edited from sample, aspx simplifies to this: -->
<
telerik:RadComboBox
ID
=
"RadComboBox1"
runat
=
"server"
>
<
ItemTemplate
>
<
telerik:RadGrid
ID
=
"RadGrid1"
runat
=
"server"
>
...
</
telerik:RadGrid
>
</
ItemTemplate
>
</
telerik:RadComboBox
>
protected
void
Page_Init(
object
sender, EventArgs e)
{
//create basic grid
RadGrid grid =
new
RadGrid();
grid.ID =
"RadGrid1"
;
grid.NeedDataSource += RadGrid1_NeedDataSource;
grid.AllowSorting =
true
;
grid.MasterTableView.AutoGenerateColumns =
true
;
//try mimic aspx page implementation... not possible because of Type mismatch
RadComboBox1.ItemTemplate = grid;
}
I am attempting to create a web service using the signature found in your example:
[ScriptService]
public class WebServiceName : WebService
{
[WebMethod]
public RadComboBoxItemData[] WebServiceMethodName(object context)
{
// We cannot use a dictionary as a parameter, because it is only supported by script services.
// The context object should be cast to a dictionary at runtime.
IDictionary<string, object> contextDictionary = (IDictionary<string, object>) context;
//...
}
}
As I understand it, the web service must return a RadComboBoxItemData array. However, when creating a web service using the above signature, I get an error saying the RadComboBoxItemData implements IDictionary and therefore can not be serialized. I'm sure I'm doing something wrong - but can't figure it out.
I even took your sample code and compiled and got the same error!
Regards,
Ken
-- The javascript
uxRadGrid_MasterTable_row.get_cell("ContactId").innerText
-- the column def
<
telerik:GridTemplateColumn
DataField
=
"ContactId"
HeaderText
=
"Contact"
UniqueName
=
"ContactId"
>
<
ItemTemplate
><%# Eval("Name")%></
ItemTemplate
>
<
EditItemTemplate
>
<
span
>
<
telerik:RadComboBox
ID
=
"uxContactId"
Runat
=
"server"
.....></
telerik:RadComboBox
>
</
span
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>