or
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"
;
}
}
<
table
cellpadding
=
"0"
cellspacing
=
"0"
width
=
"100%"
>
<
tr
>
<
td
>
<
asp:Panel
ID
=
"ListViewPanel1"
runat
=
"server"
>
<
telerik:RadListView
ID
=
"RadListView1"
Width
=
"100%"
AllowPaging
=
"True"
runat
=
"server"
PageSize
=
"9"
AllowSorting
=
"true"
OnNeedDataSource
=
"RadListView1_NeedDataSource"
ItemPlaceholderID
=
"ProductsHolder"
>
<
LayoutTemplate
>
<
fieldset
id
=
"FieldSet1"
style
=
"border:none; padding-left :30px;"
>
<
asp:Panel
ID
=
"ProductsHolder"
runat
=
"server"
/>
</
fieldset
>
</
LayoutTemplate
>
<
ItemTemplate
>
<
div
class
=
"category"
>
<
table
cellpadding
=
"0"
cellspacing
=
"0"
>
<
tr
><
td
>
<
a
style
=
'cursor:pointer;'
href='<%# DetermineLink(Eval("id"), Eval("center"))%>'>
<
img
src='<%#DetermineImage(Eval("id"), Eval("center"))%>' border='0' hspace='0' width='<%#Eval("w")%>' height='<%#Eval("h")%>' align="middle"/>
</
a
>
</
td
></
tr
>
<
tr
>
<
td
>
<%#Mid(Eval("Title"), 1, 25)%>
</
td
>
</
tr
>
<
tr
><
td
><
br
/></
td
></
tr
>
</
table
>
</
div
>
</
ItemTemplate
>
</
telerik:RadListView
>
</
asp:Panel
>
</
td
>
<
td
valign
=
"middle"
align
=
"center"
>
<
telerik:RadDataPager
ID
=
"RadDataPager1"
runat
=
"server"
PagedControlID
=
"RadListView1"
PageSize
=
"9"
Height
=
"430px"
Width
=
"16px"
>
<
Fields
>
<
telerik:RadDataPagerSliderField
SliderDragText
=
""
SliderDecreaseText
=
""
SliderIncreaseText
=
""
SliderOrientation
=
"Vertical"
/>
</
Fields
>
</
telerik:RadDataPager
>
</
td
>
</
tr
>
</
table
>
.RadDataPager_Default
{
border:none;
background-color:Transparent;
width:5px;
padding-left : 45px;
min-height:200px;
}
.RadDataPager_Default .rdpSliderLabel
{
display: none ;
}
.RadSlider_Default .rslTrack
{
border-color: #b9b9b9 #939393 #939393 #b9b9b9;
height: 400px !important;
}
.RadSlider .rslVertical .rslIncrease
{
bottom: -250px !important;
}
.RadSlider_Default .rslVertical a.rslHandle
{
background-image:url('Slider/HandlesVertical.gif');
}
.RadSlider_Default .rslVertical a.rslDraghandle
{
background:url('Slider/DragVerticalHandleRight.gif') no-repeat;
}