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.