or
<telerik:GridTemplateColumn UniqueName="YouTubeLink" HeaderText="YouTube Link" SortExpression="YouTubeLink"> <ItemTemplate> <%#DataBinder.Eval(Container.DataItem, "YouTubeLink")%> </ItemTemplate> <EditItemTemplate> <telerik:RadTextBox ID="RadTextBoxLink" Runat="server" Skin="Vista" Width="400px" MaxLength="2000" TextMode="MultiLine" Rows="10"> </telerik:RadTextBox> </EditItemTemplate> </telerik:GridTemplateColumn><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/xT4Kw3A0pHI?fs=1&;hl=en_GB"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xT4Kw3A0pHI?fs=1&;hl=en_GB" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object><telerik:RadAjaxManagerProxy runat="server" ID="rampTicketDetail"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="rtsTicketDetail"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rtsTicketDetail" LoadingPanelID="ralpTicketDetail" /> <telerik:AjaxUpdatedControl ControlID="rmpTicketDetail" LoadingPanelID="ralpTicketDetail" /> <telerik:AjaxUpdatedControl ControlID="hfTicketDetailParams" LoadingPanelID="ralpTicketDetail" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="rmpTicketDetail"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="rmpTicketDetail" LoadingPanelID="ralpTicketDetail" /> <telerik:AjaxUpdatedControl ControlID="hfTicketDetailParams" LoadingPanelID="ralpTicketDetail" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManagerProxy> <telerik:RadAjaxManagerProxy runat="server" ID="rampMainContent"> <AjaxSettings> <telerik:AjaxSetting AjaxControlID="rampMainContent"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="cpRadGrid" /> </UpdatedControls> </telerik:AjaxSetting> <telerik:AjaxSetting AjaxControlID="cpRadGrid"> <UpdatedControls> <telerik:AjaxUpdatedControl ControlID="cpRadGrid" /> </UpdatedControls> </telerik:AjaxSetting> </AjaxSettings> </telerik:RadAjaxManagerProxy> <telerik:RadScriptManager ID="RadScriptManager1" runat="server"> </telerik:RadScriptManager> <telerik:RadUpload ID="RadUpload1" runat="server" /> <telerik:RadProgressArea ID="RadProgressArea1" runat="server" /> <telerik:RadProgressManager ID="RadProgressManager1" runat="server" /> <asp:Button ID="Button1" runat="server" Text="Submit" /><asp:Panel runat="server" ID="PanelGrid" Width="630px"> <fieldset id="fieldGrid" style="width: 608px;"> <legend>Notes History</legend> <telerik:RadGrid ID="RadGridJobs2" runat="server" AutoGenerateColumns="False" AllowPaging="True" GridLines="None" Width="608px" Skin="Office2007" SkinID="RadGrid_Paging_Page20_NoExport_Add" AllowAutomaticDeletes="false" AllowAutomaticInserts="True" DataSourceID="LinqDataSourceNotes" OnUpdateCommand="RadGridJobs2_UpdateCommand"> <MasterTableView DataKeyNames="OID" DataSourceID="LinqDataSourceNotes" GridLines="None" CommandItemDisplay="Top"> <Columns> <telerik:GridBoundColumn DataField="NoteDetails" HeaderText="Note" SortExpression="NoteDetails" UniqueName="columnNoteDetails" Visible="false" /> <telerik:GridTemplateColumn UniqueName="columnNewNote" HeaderText="Note History"> <ItemTemplate> <table cellspacing="0" cellpadding="0" width="100%" border="0" class="TableNoBorders"> <tr> <td> <%# "<div><span style='font-weight: bold; '>By </span><span style='font-style: italic; '>" + Eval("User.FirstName") + " " + Eval("User.LastName") + "</span><span style='font-weight: bold; '> on </span><span style='font-style: italic; '>" + Eval("NoteDate", "{0:dd-MMM-yyyy hh:mm tt}") + "</span></div>"%> </td> </tr> <tr> <td> <%# "<div style='font-weight: bold; '>Note: </div>" + Eval("NoteDetails")%> </td> </tr> </table> </ItemTemplate> </telerik:GridTemplateColumn> <telerik:GridEditCommandColumn ButtonType="ImageButton" HeaderStyle-Width="10px" ItemStyle-Width="10px" /> <telerik:GridClientDeleteColumn ButtonType="ImageButton" HeaderStyle-Width="10px" ItemStyle-Width="10px" Visible="false" /> </Columns> <CommandItemSettings AddNewRecordText="New Note" /> <EditFormSettings> <EditColumn ButtonType="ImageButton" /> </EditFormSettings> </MasterTableView> </telerik:RadGrid> </fieldset></asp:Panel>protected void RadGridJobs2_UpdateCommand(object source, GridCommandEventArgs e) { var editableItem = ((GridEditableItem)e.Item); var editNoteID = (long)editableItem.GetDataKeyValue("OID"); //retrieve entity form the Db var editNote = DbContext.Notes.Where(nut => nut.OID == editNoteID).FirstOrDefault(); if (editNote != null) { try { //update entity's state editableItem.UpdateValues(editNote); //submit changes to Db DbContext.SubmitChanges(); } catch (Exception ex) { } }}
Hi Everyone
I am having trouble with a RequiredField Validator for a ComboBox in Edit Form.
This is the scenario:
I have a grid with 3 columns:
1 TemplateColumn with a ComboBox as its EditItemTemplate
2 GridNumericColumns
I’ve placed OnBlur and OnFocus events on the two NumericColumnEditors.
I’ve Placed a Compare Field Validator for the comboBox
I’ve also disabled the ComboBox when it is in the Edit form.
Now, this works fine when I am in the Insert Form but when I hit the edit command I get this error:
htmlfile: Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus.
This is the JSCode:
var oldValue; function Focus(sender, eventArgs) { oldValue = sender.get_value(); } function Blur (sender, eventArgs) { if ( sender.get_value() < 0) { radalert('El valor no puede ser negativo',200,100,'Alerta'); sender.set_value(oldValue); } }Markup:
<Columns> <telerik:GridTemplateColumn UniqueName="LINEA" HeaderText="Linea ISA" AllowFiltering="False"> <ItemTemplate> <asp:Label ID="LIN" runat="server" Width="80px"> <%# DataBinder.Eval(Container.DataItem, "LINEA")%> </asp:Label> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox DataTextField="EQUIPO" DataValueField="EQUIPO" EnableLoadOnDemand="True" ID="RadCmbBx_Linea" runat="server" MarkFirstMatch="True" OnSelectedIndexChanged="RadCmbBx_Linea_SelectedIndexChanged" AutoPostBack="true"> </telerik:RadComboBox> <asp:CompareValidator ValueToCompare="Select..." Operator="NotEqual" ControlToValidate="RadCmbBx_Linea" ErrorMessage="You must select a city!" runat="server" ID="Comparevalidator1" /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridNumericColumn DataField="ENERGIA_ACTIVA_HOY" UniqueName="ENERGIA_ACTIVA_HOY" HeaderText="Energia Hoy" /> <telerik:GridNumericColumn DataField="ENERGIA_REACTIVA_HOY" UniqueName="ENERGIA_REACTIVA_HOY" HeaderText="Energia Hoy ReActiva" /> </Columns>protected void RgridLineasISA_ItemDataBound(object sender, GridItemEventArgs e) { if (e.Item is GridEditableItem && (e.Item.IsInEditMode)) { RadComboBox comboLinea = e.Item.FindControl("RadCmbBx_Linea") as RadComboBox; comboLinea.DataSource = new OES.Business.Equipo().ListLineasISA(); comboLinea.DataBind(); comboLinea.Items.Insert(0, new RadComboBoxItem("Select...")); if ((e.Item as GridEditableItem).IsInEditMode && (e.Item as GridEditableItem).IsDataBound && e.Item.ItemIndex != -1) { comboLinea.SelectedValue = ((OES_LineasISA)e.Item.DataItem).LINEA.ToString(); comboLinea.Enabled = false; } } protected void RgridLineasISA_ItemCreated(object sender, GridItemEventArgs e) { if (e.Item is GridEditableItem && (e.Item.IsInEditMode)) { GridNumericColumnEditor editorEnerActHoy = (GridNumericColumnEditor)e.Item.EditManager.GetColumnEditor("ENERGIA_ACTIVA_HOY"); editorEnerActHoy.NumericTextBox.ClientEvents.OnBlur = "Blur"; editorEnerActHoy.NumericTextBox.ClientEvents.OnFocus = "Focus"; GridNumericColumnEditor editorEnerReactHoy = (GridNumericColumnEditor)e.Item.EditManager.GetColumnEditor("ENERGIA_REACTIVA_HOY"); editorEnerReactHoy.NumericTextBox.ClientEvents.OnBlur = "Blur"; editorEnerReactHoy.NumericTextBox.ClientEvents.OnFocus = "Focus"; } }