Hi - I'm struggling with something that I can't seem to figure out. I want to be able to display a RadComboBox that can be used on each row. I need this because setting up the data I'm using requires a selection be made for each row. My grid markup is as follows:
<
telerik:RadGrid
ID
=
"grdRules"
runat
=
"server"
GridLines
=
"None"
AutoGenerateColumns
=
"False"
OnItemCreated
=
"grdRules_ItemCreated"
HorizontalAlign
=
"NotSet"
OnNeedDataSource
=
"grdRules_NeedDataSource"
Width
=
"99%"
OnPreRender
=
"grdRules_PreRender"
PageSize
=
"100"
>
<
MasterTableView
DataKeyNames
=
"ID"
GridLines
=
"None"
Width
=
"100%"
EditMode
=
"InPlace"
>
<
Columns
>
<
telerik:GridCheckBoxColumn
UniqueName
=
"IncludeRuleColumn"
/>
<
telerik:GridTemplateColumn
UniqueName
=
"RuleName"
HeaderText
=
"Name"
DataField
=
"Name"
SortExpression
=
"Name"
>
<
ItemTemplate
>
<
asp:Label
ID
=
"lblName"
runat
=
"server"
Text='<%# DataBinder.Eval(Container.DataItem, "Name") %>'></
asp:Label
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Message"
UniqueName
=
"ValidationMessage"
DataField
=
"MessageText"
SortExpression
=
"Message.MessageText"
>
<
ItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"cbMessage"
OnDataBinding
=
"cbMessages_DataBinding"
DataTextField
=
"MessageText"
DataValueField
=
"ID"
></
telerik:RadComboBox
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
HeaderText
=
"Outcome"
UniqueName
=
"OutcomeType"
SortExpression
=
"OutcomeType"
>
<
ItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"cbOutcomeTypes"
OnDataBinding
=
"cbOutcomeTypes_DataBinding"
></
telerik:RadComboBox
>
</
ItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
When the grid displays, they all look like the RadComboBox, but they're all disabled and cannot be 'dropped down' to select an item. I've tried forcing all of the rows into edit mode with EditItemTemplate entries as well, and that doesn't work either. Here is the server side code I've tried that with:
protected
void
grdRules_PreRender(
object
sender, EventArgs e)
{
foreach
(GridItem item
in
grdRules.MasterTableView.Items)
{
if
(item
is
GridEditableItem)
{
GridEditableItem editableItem = item
as
GridDataItem;
editableItem.Edit =
true
;
}
}
for
(
int
i = 0; i < grdRules.PageSize; i++)
{
grdRules.EditIndexes.Add(i);
}
grdRules.Rebind();
}
protected
void
grdRules_ItemCreated(
object
sender, GridItemEventArgs e)
{
if
(!Page.IsPostBack && e.Item
is
GridEditableItem)
{
e.Item.Edit =
true
;
}
}
Is what I'm explaining possible with the RadGrid? What am I missing here? I feel like I've tried everything today to get this to work, and to no avail. Ideas please? Thanks!