Hello,
I have a radgrid with Batch Edit Mode activated, i have 5 columns: two with one comboBox and three with textBox. I need that one of the radComboBox bind the datasource of the other one attending at the value of the first radcomboBox:
ROW [ txtEtiqueta TextBoxFormato TextBoxAncho RadComboBoxAlineacion RadComboBoxMostrarTipo ]
This is the structure:
<
telerik:RadGrid
ID
=
"RadGridPropiedadesMostrar"
runat
=
"server"
Height
=
"245px"
Width
=
"99%"
Culture
=
"es-ES"
Visible
=
"true"
OnNeedDataSource
=
"RadGridPropiedadesMostrar_NeedDataSource"
OnBatchEditCommand
=
"RadGridPropiedadesMostrar_BatchEditCommand"
OnItemDataBound
=
"RadGridPropiedadesMostrar_OnItemDataBound"
OnPreRender
=
"RadGridPropiedadesMostrar_PreRender"
HeaderStyle-Font-Size
=
"Small"
HeaderStyle-ForeColor
=
"Black"
MasterTableView-NoMasterRecordsText
=
"Sin registros"
>
<
ClientSettings
>
<
Scrolling
AllowScroll
=
"True"
/>
<
Resizing
ResizeGridOnColumnResize
=
"false"
AllowColumnResize
=
"false"
AllowResizeToFit
=
"true"
EnableRealTimeResize
=
"true"
></
Resizing
>
<
Selecting
AllowRowSelect
=
"true"
/>
</
ClientSettings
>
<
MasterTableView
EditMode
=
"Batch"
AutoGenerateColumns
=
"False"
ShowHeadersWhenNoRecords
=
"true"
>
<
BatchEditingSettings
EditType
=
"Cell"
OpenEditingEvent
=
"Click"
/>
<
Columns
>
<
telerik:GridBoundColumn
UniqueName
=
"CODIGOMOSTRAR"
DataField
=
"CODIGOMOSTRAR"
HeaderText
=
"CODIGOMOSTRAR"
Visible
=
"false"
/>
<
telerik:GridBoundColumn
UniqueName
=
"CODIGOINFORME"
DataField
=
"CODIGOINFORME"
HeaderText
=
"CODIGOINFORME"
Visible
=
"false"
/>
<
telerik:GridBoundColumn
UniqueName
=
"MOS_NOMBRE"
DataField
=
"MOS_NOMBRE"
HeaderText
=
"Nombre"
Visible
=
"false"
>
<
ColumnValidationSettings
EnableRequiredFieldValidation
=
"true"
>
<
RequiredFieldValidator
ForeColor
=
"Red"
Text
=
"*This field is required"
Display
=
"Dynamic"
>
</
RequiredFieldValidator
>
</
ColumnValidationSettings
>
</
telerik:GridBoundColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"MOS_ETIQUETA"
DataField
=
"MOS_ETIQUETA"
HeaderText
=
"Campo"
Visible
=
"true"
ItemStyle-Width
=
"35%"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "MOS_ETIQUETA")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtEtiqueta"
runat
=
"server"
Width
=
"85%"
></
telerik:RadTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridBoundColumn
UniqueName
=
"MOS_VISIBLE"
DataField
=
"MOS_VISIBLE"
HeaderText
=
"Visible"
Visible
=
"false"
/>
<
telerik:GridTemplateColumn
UniqueName
=
"MOS_FORMATO"
DataField
=
"MOS_FORMATO"
HeaderText
=
"Formato"
Visible
=
"true"
ItemStyle-Width
=
"15%"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "MOS_FORMATO")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtFormato"
runat
=
"server"
Width
=
"85%"
></
telerik:RadTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"MOS_ANCHO"
DataField
=
"MOS_ANCHO"
HeaderText
=
"Ancho"
Visible
=
"true"
ItemStyle-Width
=
"15%"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "MOS_ANCHO")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadTextBox
ID
=
"txtAncho"
runat
=
"server"
Width
=
"85%"
></
telerik:RadTextBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"MOS_AINEACION"
DataField
=
"MOS_AINEACION"
HeaderText
=
"Alineación"
Visible
=
"true"
ItemStyle-Width
=
"15%"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "MOS_AINEACION")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"RadComboBoxAlineacion"
HighlightTemplatedItems
=
"true"
Width
=
"85%"
>
</
telerik:RadComboBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
<
telerik:GridTemplateColumn
UniqueName
=
"MOS_TIPO"
DataField
=
"MOS_TIPO"
HeaderText
=
"Tipo"
Visible
=
"true"
ItemStyle-Width
=
"15%"
>
<
ItemTemplate
>
<%#DataBinder.Eval(Container.DataItem, "MOS_TIPO")%>
</
ItemTemplate
>
<
EditItemTemplate
>
<
telerik:RadComboBox
runat
=
"server"
ID
=
"RadComboBoxMostrarTipo"
HighlightTemplatedItems
=
"true"
Width
=
"85%"
>
</
telerik:RadComboBox
>
</
EditItemTemplate
>
</
telerik:GridTemplateColumn
>
</
Columns
>
</
MasterTableView
>
</
telerik:RadGrid
>
I create the datasource of the RadComboBoxMostrarTipo in PRERENDER like this:
protected void RadGridPropiedadesMostrar_PreRender(object sender, EventArgs e)
{
RadGridPropiedadesMostrar.Rebind();
RadComboBox combo2 = (RadGridPropiedadesMostrar.MasterTableView.GetBatchEditorContainer("MOS_TIPO") as Panel).FindControl("RadComboBoxMostrarTipo") as RadComboBox;
DataTable table2 = new DataTable();
table2.Columns.Add("MOS_TIPO", typeof(int));
table2.Columns.Add("TIPO", typeof(string));
string[] tipos = {"Texto", "Entero", "Doble", "Fecha", "Booleano" };
DataRow row2 = null;
for (int i = 0; i < tipos.Length; i++)
{
row2 = table2.NewRow();
row2["MOS_TIPO"] = i.ToString();
row2["TIPO"] = tipos[i];
table2.Rows.Add(row2);
}
combo2.DataTextField = "TIPO";
combo2.DataValueField = "MOS_TIPO";
combo2.DataSource = table2;
combo2.DataBind();
}
I need to bind the RadComboBoxAlineacion depending of the data loaded in RadComboBoxMostrarTipo when i load each row
Any idea? Thanks!