I'm trying to figure out how to bind my DataSource (in my case this is assigned in Code Behind using List) to a RadCheckBox in my ItemTemplate.
My code that isn't working:
<telerik:RadGrid ID="rg_Balances" runat="server" AutoGenerateColumns="False"> <MasterTableView TableLayout="Auto"> <Columns> <telerik:GridTemplateColumn DataField="Selected" DataType="System.Boolean" HeaderText="Select Unit(s) To Pay"> <ItemTemplate> <telerik:RadCheckBox ID="rcb_Selected" runat="server" OnCheckedChanged="UpdateTotal" AutoPostBack="true"></telerik:RadCheckBox> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="UnitMask" DataType="System.String" HeaderText="Unit" ReadOnly="true"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Balance" DataType="System.Decimal" DataFormatString="{0:C2}" HeaderText="Balance" ReadOnly="true"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="IncludeNextCharges" DataType="System.Boolean" HeaderText="Include Next Charges"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="NextPeriodTotalCharges" DataType="System.Decimal" DataFormatString="{0:C2}" HeaderText="Next Charges" ReadOnly="true"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="Total" DataType="System.Decimal" DataFormatString="{0:C2}" HeaderText="Unit Total" ReadOnly="true"></telerik:GridBoundColumn> </Columns> </MasterTableView> <ClientSettings> <Scrolling AllowScroll="True" UseStaticHeaders="True"></Scrolling> </ClientSettings> </telerik:RadGrid>
The binding property is called "Selected" and it's a member of my object in my List of objects. In SL5 I accomplished this with the following code:
<telerik:RadGridView.Columns> <telerik:GridViewDataColumn x:Name="ServiceMAPIDColumn" Header="ServiceID" IsVisible="False" DataMemberBinding="{Binding ServiceMAPID}"/> <telerik:GridViewDataColumn x:Name="ServiceSelectedColumn" Header="" DataMemberBinding="{Binding Selected, Mode=TwoWay}" IsReadOnly="True"> <telerik:GridViewDataColumn.CellTemplate> <DataTemplate> <CheckBox x:Name="ServiceSelectedCheckBox" IsChecked="{Binding Selected, Mode=TwoWay}" Tag="{Binding}"> <i:Interaction.Triggers> <i:EventTrigger EventName="Click"> <ei:CallMethodAction TargetObject="{Binding Path=DataContext, RelativeSource={RelativeSource AncestorType=sdk:ChildWindow}}" MethodName="UpdateCustomerUnitServiceSelected" /> </i:EventTrigger> </i:Interaction.Triggers> </CheckBox> </DataTemplate> </telerik:GridViewDataColumn.CellTemplate> </telerik:GridViewDataColumn> <telerik:GridViewDataColumn x:Name="ServiceNameColumn" Header="Service" IsReadOnly="True" Width="198" DataMemberBinding="{Binding ServiceName}" /> <telerik:GridViewDataColumn x:Name="ServiceAmountColumn" Header="Amount" IsReadOnly="True" Width="80" DataMemberBinding="{Binding ServiceAmount}" TextAlignment="Right" DataFormatString="{}{0:C2}"/> </telerik:RadGridView.Columns>
In ASP.NET AJAX there doesn't appear to be a DataTemplate or anything similar?
Any hints on how I can get a RadCheckBox bound to a RadGrid datasource?
Cheers, Rob.