I have a GridDropDownColumn with some columns. I want when a user select a "Status Color" an Image of the color selected shows up next to it. I am using the code below is not working.
<telerik:GridDropDownColumn DataField="RiskStatusColorID" DataSourceID="StatusColorDataSource"
DefaultInsertValue="" HeaderText="Status Color" SortExpression="StatusColorID"
ListTextField="RiskStatusColor" ListValueField="StatusColorID" UniqueName="StatusColorID" DropDownControlType= "RadComboBox">
</telerik:GridDropDownColumn>
<telerik:GridTemplateColumn UniqueName="Images" HeaderText="Images" >
<ItemTemplate>
<asp:Image ID="Image1" runat="server" />
</ItemTemplate>
</telerik:GridTemplateColumn>
CodeBehind
---------------------
protected void gvSummary_ItemCreated(object sender, GridItemEventArgs e)
{
GridEditableItem imgitem = (GridEditableItem)e.Item;
RadComboBox imglist = (RadComboBox)imgitem["StatusColorID"].Controls[0];
imglist.AutoPostBack = true;
imglist.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(img_SelectedIndexChanged);
{
RadComboBox comboimg = (RadComboBox)o;
GridEditableItem edit2 = (GridEditableItem)comboimg.NamingContainer;
if (comboimg.SelectedValue == "Red")
{
Image img = (Image)edit2.FindControl("Images");
img.ImageUrl = "../Images/dot_red.png";
}
}
<telerik:GridDropDownColumn DataField="RiskStatusColorID" DataSourceID="StatusColorDataSource"
DefaultInsertValue="" HeaderText="Status Color" SortExpression="StatusColorID"
ListTextField="RiskStatusColor" ListValueField="StatusColorID" UniqueName="StatusColorID" DropDownControlType= "RadComboBox">
</telerik:GridDropDownColumn>
<telerik:GridTemplateColumn UniqueName="Images" HeaderText="Images" >
<ItemTemplate>
<asp:Image ID="Image1" runat="server" />
</ItemTemplate>
</telerik:GridTemplateColumn>
CodeBehind
---------------------
protected void gvSummary_ItemCreated(object sender, GridItemEventArgs e)
{
GridEditableItem imgitem = (GridEditableItem)e.Item;
RadComboBox imglist = (RadComboBox)imgitem["StatusColorID"].Controls[0];
imglist.AutoPostBack = true;
imglist.SelectedIndexChanged += new RadComboBoxSelectedIndexChangedEventHandler(img_SelectedIndexChanged);
}
protected void img_SelectedIndexChanged(object o, RadComboBoxSelectedIndexChangedEventArgs e){
RadComboBox comboimg = (RadComboBox)o;
GridEditableItem edit2 = (GridEditableItem)comboimg.NamingContainer;
if (comboimg.SelectedValue == "Red")
{
Image img = (Image)edit2.FindControl("Images");
img.ImageUrl = "../Images/dot_red.png";
}
}