Hi,
I have a trouble when i try binding a radcolorpicker, because this control does not show the color saved in the database.
What is wrong?
Code .Aspx
<telerik:RadGrid id="rgCategoria" runat="server" AutoGenerateColumns="False" AllowAutomaticUpdates="True" AllowAutomaticInserts="True" OnNeedDatasource="rgCategoria_NeedDataSource" Culture="es-ES" GroupPanelPosition="Top" OnBatchEditCommand="rgCategoria_BatchEditCommand" OnItemCommand="rgCategoria_ItemCommand" OnItemDataBound="rgCategoria_ItemDataBound"> <MasterTableView DataKeyNames="IdCategoria" EditMode="Batch" AutoGenerateColumns="False" commanditemdisplay="Top"> <commanditemsettings addnewrecordtext="Nuevo" cancelchangestext="Cancelar" refreshtext="Refrescar" savechangestext="Guardar" showcancelchangesbutton="True" showsavechangesbutton="True"> </commanditemsettings> <Columns> <telerik:GridBoundColumn DataField="Nombre" UniqueName="Nombre" HeaderText="Nombre"> <HeaderStyle Width="100px"></HeaderStyle> </telerik:GridBoundColumn> <telerik:GridTemplateColumn DataField="Color" UniqueName="Color" HeaderText="Color"> <ItemTemplate> <div style='width: 150px; height: 16px; background-color: <%# Eval("Color") %>'></div> </ItemTemplate> <EditItemTemplate> <telerik:RadColorPicker runat="server" ID="txtColor" PaletteModes="HSB" ShowIcon="True"> <Localization ApplyButtonText="Aplicar" NoColorText="Ningún Color" PickColorText="Elegir Color" WebPaletteTabText="Paleta Web" BlankColorText="Color Blanco" CancelButtonText="Cancelar" CustomColor="Color Personalizado" HexInputTitle="Código del color hexadecimal " HSBSliderDragText="Arrastrar" HSVSliderDragText="Arrastrar" OkButtonText="Aceptar" RecentColors="Colores Recientes" RGBSlidersDecreaseText="Disminuir" RGBSlidersDragText="Arrastrar" RGBSlidersIncreaseText="Aumentar" CurrentColorText="(Color Actual es {0})"/> </telerik:RadColorPicker> </EditItemTemplate> <HeaderStyle Width="150px"> </HeaderStyle> </telerik:GridTemplateColumn> <telerik:GridBoundColumn DataField="IdCategoria" Display="false"></telerik:GridBoundColumn> <telerik:GridBoundColumn DataField="RowVersion" Display="false"></telerik:GridBoundColumn> </Columns> <BatchEditingSettings EditType="Cell" OpenEditingEvent="Click" /> </MasterTableView> </telerik:RadGrid>Code c#
protected void rgCategoria_NeedDataSource(object sender, GridNeedDataSourceEventArgs e){ if (ViewState["dtCategoriasColores"] != null) { rgCategoria.DataSource = (DataTable)ViewState["dtCategoriasColores"]; } else { CargarCategoriaColores(); }}protected void rgCategoria_ItemDataBound(object sender, GridItemEventArgs e){ if (e.Item is GridDataItem && e.Item.IsInEditMode) { GridDataItem editItem = (GridDataItem)e.Item; RadColorPicker colorLetraRadColorPicker = (RadColorPicker)editItem.FindControl("txtColor"); colorLetraRadColorPicker.SelectedColor = System.Drawing.ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, "Color").ToString())); }}protected void rgCategoria_ItemCommand(object sender, GridCommandEventArgs e){ if (e.CommandName == RadGrid.UpdateCommandName) { GridEditableItem editedItem = e.Item as GridEditableItem; RadColorPicker colorRCP = (RadColorPicker)editedItem.FindControl("txtColor"); if (colorRCP != null) colorRCP.SelectedColor = System.Drawing.ColorTranslator.FromHtml((DataBinder.Eval(e.Item.DataItem, "Color").ToString())); }}protected void rgCategoria_BatchEditCommand(object sender, GridBatchEditingEventArgs e){ foreach (GridBatchEditingCommand command in e.Commands) { if ((command.Type == GridBatchEditingCommandType.Update)) { Hashtable newValues = command.NewValues; Hashtable oldValues = command.OldValues; string OrderID = newValues["Nombre"].ToString(); string ShipName = newValues["Color"].ToString(); } }}