Howdy all. I've been banging my head on the wall trying to make this work and just need a bit of assistance. So at a high level, I'm migrating several RadGrid from a server side databinding to a RadClientDataSource/ClientDataSourceID. Everything is going great and I've replaced most of the functionality but have one area where I just can't seem to make it work right.
In the past, I would have a RadGrid and it would have an OnItemDataBound event that included something like:
((LinkButton)e.Item.FindControl("linkButton")).CommandArgument = DataBinder.Eval(e.Item.DataItem, "SomethingInData").ToString();
And then clicking on that LinkButton in the RadGrid would run the associated event on the LinkButton. What I can't seem to figure out is how to set the CommandArgument when we are doing a clientSide Databind.
I'm assuming I will need to use ClientSettings-ClientEvents-OnDataBound event and some JavaScript to set the CommandArgument value but I can't seem to figure out how to do it.
Thanks,
Richard
Here is the full code. I'm setting the Select URL from CodeBehind based on a few variables.
<
telerik:RadClientDataSource
ID
=
"RadClientDataSource1"
runat
=
"server"
AllowBatchOperations
=
"true"
>
<
DataSource
>
<
WebServiceDataSourceSettings
>
<
Select
DataType
=
"JSON"
/>
</
WebServiceDataSourceSettings
>
</
DataSource
>
<
Schema
>
<
Model
ID
=
"SipID"
>
<
telerik:ClientDataSourceModelField
FieldName
=
"UserPrincipalName"
DataType
=
"String"
/>
<
telerik:ClientDataSourceModelField
FieldName
=
"SamAccountName"
DataType
=
"String"
/>
<
telerik:ClientDataSourceModelField
FieldName
=
"LockoutTime"
DataType
=
"String"
/>
<
telerik:ClientDataSourceModelField
FieldName
=
"UnlockURL"
DataType
=
"String"
/>
</
Model
>
</
Schema
>
</
telerik:RadClientDataSource
>
<
telerik:RadGrid
ID
=
"gridItems"
OnItemDataBound
=
"gridItems_ItemCreated"
RenderMode
=
"Lightweight"
ClientDataSourceID
=
"RadClientDataSource1"
Width
=
"100%"
AutoGenerateColumns
=
"false"
AllowFilteringByColumn
=
"False"
Skin
=
"Silk"
PagerStyle-Position
=
"TopAndBottom"
AllowSorting
=
"True"
AllowMultiRowSelection
=
"False"
runat
=
"server"
Gridlines
=
"None"
>
<
MasterTableView
HeaderStyle-ForeColor
=
"Black"
Width
=
"100%"
DataKeyNames
=
"SamAccountName"
ClientDataKeyNames
=
"SamAccountName"
AllowFilteringByColumn
=
"False"
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"UserPrincipalName"
HeaderText
=
"User"
HeaderStyle-BackColor
=
"LightSteelBlue"
/>
<
telerik:GridBoundColumn
DataField
=
"UserPrincipalName"
HeaderText
=
"User"
HeaderStyle-BackColor
=
"LightSteelBlue"
ItemStyle-Width
=
"200"
/>
<
telerik:GridTemplateColumn
InitializeTemplatesFirst
=
"true"
AllowFiltering
=
"false"
HeaderStyle-BackColor
=
"LightSteelBlue"
ItemStyle-Width
=
"100"
>
<
HeaderTemplate
>Unlock</
HeaderTemplate
>
<
ItemTemplate
>
<
asp:LinkButton
runat
=
"server"
ID
=
"lnkUnlock"
Text
=
"Unlock"
OnCommand
=
"lnkUnlock_Command"
/>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
<
PagerStyle
Mode
=
"NumericPages"
/>
<
GroupingSettings
CaseSensitive
=
"false"
/>
<
ClientSettings
EnableRowHoverStyle
=
"true"
>
<
ClientEvents
/>
</
ClientSettings
>
</
telerik:RadGrid
>