Hi, I hope I can explain my problem clearly.
I have RadGrid with two GridDropDownColumns and some other RadNumericTextBox columns.
One of the GridDropDownColumn is filtered based on the selected value from the other GridDropDownColumn.
I was able to fire SelectedIndexChange event at this point. The event stop firing after I applies RequiredFieldValidator on one of my RadNumericTextBox.
When the grid is in edit mode, everything is fine if I just select the combobox to filter the other one, However, once I try to update and it failed because of RequiredFiedValidator. The combobox' selectIndexChange event can not be fired anymore.
My code are following
ASCX
ASCX.CS
Any suggestions?
I have RadGrid with two GridDropDownColumns and some other RadNumericTextBox columns.
One of the GridDropDownColumn is filtered based on the selected value from the other GridDropDownColumn.
I was able to fire SelectedIndexChange event at this point. The event stop firing after I applies RequiredFieldValidator on one of my RadNumericTextBox.
When the grid is in edit mode, everything is fine if I just select the combobox to filter the other one, However, once I try to update and it failed because of RequiredFiedValidator. The combobox' selectIndexChange event can not be fired anymore.
My code are following
ASCX
<
Columns
>
<
telerik:GridDropDownColumn
UniqueName
=
"Combo1"
DropDownControlType
=
"RadComboBox"
DataField
=
"Combo1data"
DataSourceID
=
"odcCombo1"
ListValueField
=
"Description1"
ListTextField
=
"Description1"
ColumnEditorID
=
"edtCombo1"
HeaderText
=
"Main"
HeaderStyle-Width
=
"120px"
ItemStyle-Width
=
"120px"
></
telerik:GridDropDownColumn
>
<
telerik:GridDropDownColumn
UniqueName
=
"Combo2"
DropDownControlType
=
"RadComboBox"
DataField
=
"Combo2data"
DataSourceID
=
"odcCombo2"
ListValueField
=
"Description2"
ListTextField
=
"Description2"
ColumnEditorID
=
"edtCombo2"
HeaderText
=
"Depend"
HeaderStyle-Width
=
"100px"
ItemStyle-Width
=
"100px"
></
telerik:GridDropDownColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"NumData1"
DataField
=
"Data1"
ItemStyle-ForeColor
=
"Black"
HeaderText
=
"NumData"
ItemStyle-Width
=
"55px"
HeaderStyle-Width
=
"55px"
ItemStyle-HorizontalAlign
=
"Center"
HeaderStyle-HorizontalAlign
=
"Center"
>
<
ItemTemplate
>
<
asp:Label
runat
=
"server"
ID
=
"lblData1"
Text='<%# Eval("Data1", "{0:C}") %>'></
asp:Label
>
</
ItemTemplate
>
<
EditItemTemplate
>
<
span
><
telerik:RadNumericTextBox
runat
=
"server"
ID
=
"tbData1"
Width
=
"55px"
DbValue='<%# Bind("Data1") %>' MinValue="10000000" MaxValue="99999999" MaxLength="8"><
NumberFormat
DecimalDigits
=
"0"
GroupSeparator
=
""
/>
</
telerik:RadNumericTextBox
><
span
style
=
"color: Red"
><
asp:RequiredFieldValidator
ID
=
"RequiredFieldValidator1"
ControlToValidate
=
"tbData1"
ErrorMessage
=
"*"
runat
=
"server"
></
asp:RequiredFieldValidator
>
</
span
>
</
EditItemTemplate
>
protected
void
grdTimeCard_ItemCreated(
object
sender, GridItemEventArgs e)
{
//create fire event when it's in edit mode
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
GridEditableItem editItem = (GridEditableItem)e.Item;
GridDropDownListColumnEditor editor = (GridDropDownListColumnEditor)editItem.EditManager.GetColumnEditor(
"Entry"
);
editor.ComboBoxControl.AutoPostBack =
true
;
editor.ComboBoxControl.SelectedIndexChanged +=
new
RadComboBoxSelectedIndexChangedEventHandler(list_SelectedIndexChanged);
}
}
private
void
list_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
}
protected
void
grdTimeCard_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridEditableItem && e.Item.IsInEditMode)
{
string
defaultCombo1 =
""
;
GridDataItem dataItem = e.Item
as
GridDataItem;
GridEditableItem editItem = (GridEditableItem)e.Item;
//do nothing if it's insert itme
if
(e.Item
is
GridDataInsertItem)
{
}
else
{
// if it's edit mode
defaultCombo1 = ((DataRowView)e.Item.DataItem)[
"Combo1"
].ToString();
try
{
RequiredFieldValidator validator1 = (RequiredFieldValidator)editItem.FindControl(
"RequiredFieldValidator1"
);
if
(defaultCombo1 ==
"Regular"
)
validator1.Enabled =
true
;
else
validator1.Enabled =
false
;
Any suggestions?