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>
