I am unable to set the selectedvalue of a combobox with a templatecolumn edititemtemplate of a grid.
The values of the combobox are set in the onitemcreated event. The combo box has the SelectedValue='<%# Eval("insurer") %>' statement... however this prevents the grid from going into edit mode.
here is the code:
<telerik:RadGrid
ID="RadGrid1"
runat="server"
AutoGenerateColumns="False"
AutoGenerateDeleteColumn="True"
AllowSorting="True"
AutoGenerateEditColumn="True"
ondeletecommand="RadGrid1_DeleteCommand"
oninsertcommand="RadGrid1_InsertCommand"
onupdatecommand="RadGrid1_UpdateCommand"
onneeddatasource="RadGrid1_NeedDataSource"
GridLines="None"
OnItemCreated="RadGrid1_ItemCreated" >
<MasterTableView
CommandItemDisplay="Top"
CommandItemSettings-AddNewRecordImageUrl="../Images/AddRecord.gif"
CommandItemSettings-RefreshImageUrl="../Images/Refresh.gif"
EditMode="InPlace"
DataKeyNames="contractor_id,insurer,tstamp">
<CommandItemSettings
AddNewRecordImageUrl="../Images/AddRecord.gif"
RefreshImageUrl="../Images/Refresh.gif">
</CommandItemSettings>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridTemplateColumn UniqueName="TemplateColumn1">
<HeaderTemplate>Insurer</HeaderTemplate>
<ItemTemplate>
<%# Eval("insurer") %>
</ItemTemplate>
<EditItemTemplate>
<qese:QeseComboBox
ID="comboRadGrid1Insurer"
runat="server"
SelectedValue='<%# Eval("insurer") %>'>
</qese:QeseComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn
DataField="employer_id"
HeaderText="Employer ID"
UniqueName="column1">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn
DataField="no_of_members"
HeaderText="No. of members"
UniqueName="column2">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Size="XX-Small" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
</telerik:RadGrid>
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem)
{
QeseComboBox combo = (e.Item as GridEditableItem)["TemplateColumn1"].FindControl("comboRadGrid1Insurer") as QeseComboBox;
if (combo != null)
{
combo.DataSource = Tbl_contractor_personal_accident_insurance.SelectDistinctInsurer();
combo.DataTextField = "Value";
combo.DataValueField = "Key";
combo.DataBind();
}
}
}
Any input would be appreciated?
The values of the combobox are set in the onitemcreated event. The combo box has the SelectedValue='<%# Eval("insurer") %>' statement... however this prevents the grid from going into edit mode.
here is the code:
<telerik:RadGrid
ID="RadGrid1"
runat="server"
AutoGenerateColumns="False"
AutoGenerateDeleteColumn="True"
AllowSorting="True"
AutoGenerateEditColumn="True"
ondeletecommand="RadGrid1_DeleteCommand"
oninsertcommand="RadGrid1_InsertCommand"
onupdatecommand="RadGrid1_UpdateCommand"
onneeddatasource="RadGrid1_NeedDataSource"
GridLines="None"
OnItemCreated="RadGrid1_ItemCreated" >
<MasterTableView
CommandItemDisplay="Top"
CommandItemSettings-AddNewRecordImageUrl="../Images/AddRecord.gif"
CommandItemSettings-RefreshImageUrl="../Images/Refresh.gif"
EditMode="InPlace"
DataKeyNames="contractor_id,insurer,tstamp">
<CommandItemSettings
AddNewRecordImageUrl="../Images/AddRecord.gif"
RefreshImageUrl="../Images/Refresh.gif">
</CommandItemSettings>
<RowIndicatorColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</RowIndicatorColumn>
<ExpandCollapseColumn>
<HeaderStyle Width="20px"></HeaderStyle>
</ExpandCollapseColumn>
<Columns>
<telerik:GridTemplateColumn UniqueName="TemplateColumn1">
<HeaderTemplate>Insurer</HeaderTemplate>
<ItemTemplate>
<%# Eval("insurer") %>
</ItemTemplate>
<EditItemTemplate>
<qese:QeseComboBox
ID="comboRadGrid1Insurer"
runat="server"
SelectedValue='<%# Eval("insurer") %>'>
</qese:QeseComboBox>
</EditItemTemplate>
</telerik:GridTemplateColumn>
<telerik:GridBoundColumn
DataField="employer_id"
HeaderText="Employer ID"
UniqueName="column1">
</telerik:GridBoundColumn>
<telerik:GridBoundColumn
DataField="no_of_members"
HeaderText="No. of members"
UniqueName="column2">
</telerik:GridBoundColumn>
</Columns>
</MasterTableView>
<HeaderStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Size="XX-Small" Font-Strikeout="False" Font-Underline="False"
Wrap="True" />
</telerik:RadGrid>
protected void RadGrid1_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridEditableItem)
{
QeseComboBox combo = (e.Item as GridEditableItem)["TemplateColumn1"].FindControl("comboRadGrid1Insurer") as QeseComboBox;
if (combo != null)
{
combo.DataSource = Tbl_contractor_personal_accident_insurance.SelectDistinctInsurer();
combo.DataTextField = "Value";
combo.DataValueField = "Key";
combo.DataBind();
}
}
}
Any input would be appreciated?