Hello,
I have a problem when i work with two radcombox inside radgrid. The problem is that when the event SelectedIndexChanged is fired the second radcombox is not filled. Besides the entire form is reloaded.
I try to put a radAjaxpanel inside label <FormTemplate> to solve this problem. But the second radcombo is not filled.
I do not understand what is the problem.
The code is the next
<
telerik:RadGrid
runat
=
"server"
Id
=
"rgDirecciones"
AutoGenerateColumns
=
"False"
OnItemDataBound
=
"rgDirecciones_ItemDataBound"
CellSpacing
=
"-1"
GroupPanelPosition
=
"Top"
>
<
mastertableview
datakeynames
=
"IdDireccion,IdSucursal,IdEmpresa"
>
<
rowindicatorcolumn
visible
=
"False"
>
</
rowindicatorcolumn
>
<
expandcollapsecolumn
created
=
"True"
>
</
expandcollapsecolumn
>
<
Columns
>
<
telerik:GridEditCommandColumn
UniqueName
=
"EditCommandColumn"
ButtonType
=
"ImageButton"
EditImageUrl
=
"../imagenes/Edit.png"
InsertImageUrl
=
"../imagenes/Edit.png"
Exportable
=
"False"
>
<
HeaderStyle
Width
=
"30px"
/>
</
telerik:GridEditCommandColumn
>
<
telerik:GridBoundColumn
DataField
=
"IdDireccion"
UniqueName
=
"IdDireccion"
HeaderText
=
"No Dirección"
>
<
HeaderStyle
Width
=
"80px"
/>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"Pais"
UniqueName
=
"Pais"
HeaderText
=
"Pais"
>
</
telerik:GridBoundColumn
>
<
telerik:GridBoundColumn
DataField
=
"DivisionTerritorial"
UniqueName
=
"DivisionTerritorial"
HeaderText
=
"Division Territorial"
>
</
telerik:GridBoundColumn
>
<
telerik:GridButtonColumn
ConfirmText
=
"Desea eliminar este registro?"
ConfirmDialogType
=
"RadWindow"
ConfirmTitle
=
"Eliminar"
ButtonType
=
"ImageButton"
CommandName
=
"Delete"
ImageUrl
=
"../imagenes/Delete.png"
UniqueName
=
"DeleteColumn"
Text
=
"Eliminar"
FilterControlAltText
=
"Filter DeleteColumn column"
Exportable
=
"False"
>
<
HeaderStyle
Width
=
"30px"
/>
</
telerik:GridButtonColumn
>
</
Columns
>
<
editformsettings
editformtype
=
"Template"
>
<
formtemplate
>
<
table
class
=
"table table-condensed"
>
<
tr
>
<
td
style
=
"width: 150px"
>
<
asp:Label
ID
=
"lbIdDireccion"
runat
=
"server"
Text
=
"No Dirección"
></
asp:Label
>
</
td
>
<
td
>
<
telerik:RadNumericTextBox
ID
=
"txtIdDireccion"
runat
=
"server"
Enabled="<%# (Container is GridEditFormInsertItem) ? true : false %>"
MaxLength="2"
MaxValue="99"
MinValue="0"
Text='<%# Bind("IdDireccion") %>'
Width="80px">
<
numberformat
decimaldigits
=
"0"
groupseparator
=
""
/>
</
telerik:RadNumericTextBox
>
<
asp:RequiredFieldValidator
ID
=
"rfvIdDireccion"
runat
=
"server"
ControlToValidate
=
"txtIdDireccion"
Display
=
"Dynamic"
ErrorMessage
=
"Campo Obligatorio"
ForeColor
=
"Red"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"width: 150px"
>
<
asp:Label
ID
=
"lbPaisDire"
runat
=
"server"
Text
=
"PaÃs"
></
asp:Label
>
</
td
>
<
td
>
<
telerik:RadComboBox
ID
=
"cmbPais"
Runat
=
"server"
Width
=
"350px"
Height
=
"150px"
AutoPostBack
=
"True"
OnSelectedIndexChanged
=
"combo_SelectedIndexChanged"
>
</
telerik:RadComboBox
>
<
asp:RequiredFieldValidator
ID
=
"rfvcmbPais"
runat
=
"server"
Display
=
"Dynamic"
ForeColor
=
"Red"
ControlToValidate
=
"cmbPais"
ErrorMessage
=
"Campo Obligatorio"
>
</
asp:RequiredFieldValidator
>
</
td
>
</
tr
>
<
tr
>
<
td
style
=
"width: 150px"
>
<
asp:Label
ID
=
"lbDivisionTerritorial"
runat
=
"server"
Text
=
"División Territorial"
></
asp:Label
>
</
td
>
<
td
>
<
telerik:RadComboBox
ID
=
"cmbDivisionTerritorial"
Runat
=
"server"
Width
=
"350px"
>
</
telerik:RadComboBox
>
</
td
>
</
tr
>
<
tr
>
<
td
colspan
=
"2"
>
<
telerik:RadButton
ID
=
"RadButton1"
runat
=
"server"
causesvalidation
=
"true"
CommandName='<%# (Container is GridEditFormInsertItem) ? "PerformInsert" : "Update" %>' Text='<%# (Container is GridEditFormInsertItem) ? "Agregar" : "Guardar" %>' validationgroup="Textbox">
<
icon
primaryiconurl
=
"../imagenes/save_16x16.png"
/>
</
telerik:RadButton
>
<
telerik:RadButton
ID
=
"RadButton2"
runat
=
"server"
CausesValidation
=
"False"
CommandName
=
"Cancel"
Text
=
"Cancelar"
>
<
icon
primaryiconurl
=
"../imagenes/cancel.png"
/>
</
telerik:RadButton
>
<
asp:Label
ID
=
"Label2"
runat
=
"server"
CssClass
=
"opcionales"
Text
=
"* Opcionales"
></
asp:Label
>
</
td
>
</
tr
>
</
table
>
</
formtemplate
>
</
EditFormSettings
>
<
CommandItemTemplate
>
<
div
class
=
"col-xs-6"
>
<
asp:LinkButton
ID
=
"lbAgregarDirecciones"
runat
=
"server"
CommandName
=
"InitInsert"
Visible='<%# !rgDirecciones.MasterTableView.IsItemInserted %>'><
img
style
=
"border:2px;vertical-align:middle;"
alt
=
""
src
=
"../imagenes/AddRecord.png"
/> Agregar</
asp:LinkButton
>
<
asp:LinkButton
ID
=
"lbRefrescarDirecciones"
runat
=
"server"
>
<
img
style
=
"border:2px;vertical-align:middle;"
alt
=
""
src
=
"../imagenes/Refresh.png"
/> Refrescar
</
asp:LinkButton
>
</
div
>
</
CommandItemTemplate
>
</
mastertableview
>
</
telerik:RadGrid
>
code c #
protected
void
rgDirecciones_ItemDataBound(
object
sender, GridItemEventArgs e)
{
if
(e.Item
is
GridEditFormInsertItem || e.Item
is
GridDataInsertItem)
{
GridEditFormItem editItem = (GridEditFormItem)e.Item;
//insert item
//Fill combobox Pais
Clases.MetodosGlobales.ObtenerInformacion(
"ADMMPaises_getCombo"
);
Clases.MetodosGlobales.LlenarComboBox(
"cmbPais"
,
"Nombre"
,
"Pais"
, editItem, RadComboBoxFilter.StartsWith);
}
else
{
if
(e.Item
is
GridEditFormItem && e.Item.IsInEditMode)editform
{
GridEditFormItem editItem = (GridEditFormItem)e.Item;
//edit item
RadComboBox comboPais = (RadComboBox)editItem.FindControl(
"cmbPais"
);
comboPais.SelectedValue = editItem[
"Pais"
].Text;
}
}
}
protected
void
combo_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
GridEditableItem editedItem = (sender
as
RadComboBox).NamingContainer
as
GridEditableItem;
GridEditFormItem item = (sender
as
RadComboBox).NamingContainer
as
GridEditFormItem;
RadComboBox comboPaises = sender
as
RadComboBox;
RadComboBox comboDivisionTerritorial = (RadComboBox)editedItem.FindControl(
"cmbDivisionTerritorial"
);
var parametrosSQL =
new
string
[] {
null
, e.Value };
DataSet ds = Clases.MetodosGlobales.ObtenerInformacionObjeto(
"ADMMDivisionesTerritoriales_get"
, parametrosSQL);
comboDivisionTerritorial.Text =
null
;
comboDivisionTerritorial.EmptyMessage =
"- Seleccione un valor -"
;
comboDivisionTerritorial.Filter = RadComboBoxFilter.StartsWith;
comboDivisionTerritorial.DataSource = ds.Tables[0];
comboDivisionTerritorial.DataTextField =
"Descripcion"
;
comboDivisionTerritorial.DataValueField =
"Divisionterritorial"
;
comboDivisionTerritorial.DataBind();
}
Regards,