Hi Steve,
As for your first question the best approach to load a RadComboBox in RadGrid is try to bind it in the
OnItemDataBound event of RadGrid as follows. Please have a look into the sample code snippet to achieve your scenario.
ASPX:
<
telerik:RadGrid
ID
=
"rgrdOrders"
runat
=
"server"
AutoGenerateColumns
=
"false"
DataSourceID
=
"sqldsOrders"
AutoGenerateEditColumn
=
"True"
CellSpacing
=
"-1"
GridLines
=
"Both"
ResolvedRenderMode
=
"Classic"
OnItemDataBound
=
"rgrdOrders_ItemDataBound"
>
<
MasterTableView
>
<
Columns
>
<
telerik:GridBoundColumn
DataField
=
"OrderID"
UniqueName
=
"OrderID"
HeaderText
=
"OrderID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"CustomerID"
UniqueName
=
"CustomerID"
HeaderText
=
"CustomerID"
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
>
<
EditItemTemplate
>
<
telerik:RadComboBox
ID
=
"rcboOrders"
runat
=
"server"
>
</
telerik:RadComboBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
C#:
protected
void
rgrdOrders_ItemDataBound(
object
sender, Telerik.Web.UI.GridItemEventArgs e)
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
//bind teh radcombobox here
GridEditableItem item = e.Item
as
GridEditableItem;
RadComboBox combo = item.FindControl(
"rcboOrders"
)
as
RadComboBox;
combo.DataSourceID =
"sqldsOrders"
;
combo.DataTextField =
"OrderID"
;
combo.DataValueField =
"OrderID"
;
//select the combobox item
TextBox selectedText = (TextBox)item[
"OrderID"
].Controls[0];
combo.SelectedValue = selectedText.Text;
}
}
Thanks,
Princy.