or
if
(optionType ==
"ComboBox"
)
{
RadComboBox combo =
new
RadComboBox();
combo.ID =
"dd_"
+ option.ToString();
combo.Font.Size = 8;
if
(optionName ==
"Report Date"
)
{
combo.AutoPostBack =
true
;
combo.SelectedIndexChanged +=
new
RadComboBoxSelectedIndexChangedEventHandler(dd_RptDate_SelectedIndexChanged);
}
foreach
(var optionValue
in
q_optionValues)
{
combo.Items.Add(
new
RadComboBoxItem(optionValue.tReportOptionValue.OptNm, optionValue.tReportOptionValue.OptVal));
// if option is Report Date, determine additional controls depending on dropdown value
if
(optionName ==
"Report Date"
)
{
//if optionvalue is specific date, set the datepickers bool to true
if
(optionValue.tReportOptionValue.OptNm ==
"Specific Date"
)
{
datepickers =
true
;
}
//if optionvalue is specific months, set the monthpickers bool to true
if
(optionValue.tReportOptionValue.OptNm ==
"Specific Months"
)
{
//datepickers = true;
}
}
}
panelContent.Controls.Add(combo);
}
protected
void
dd_RptDate_SelectedIndexChanged(
object
sender, RadComboBoxSelectedIndexChangedEventArgs e)
{
string
url =
"/"
;
Response.Redirect(url);
RadComboBox combo = (RadComboBox)sender;
GridEditFormInsertItem editFormItem = (GridEditFormInsertItem)combo.NamingContainer;
BuildOptions(editFormItem);
}
http://demos.telerik.com/aspnet-ajax/grid/examples/programming/selectedvalue/defaultcs.aspx
[ArgumentOutOfRangeException: Specified argument was out of the range of valid values. Parameter name: index] System.Web.UI.ControlCollection.get_Item(Int32 index) +8690450 Telerik.Web.UI.GridTextBoxColumnEditor.LoadControlsFromContainer() +70 Telerik.Web.UI.GridColumnEditorBase.InitializeFromControl(Control containerControl) +50 Telerik.Web.UI.GridEditFormItem.InitializeEditorInCell(IGridEditableColumn column) +1083 Telerik.Web.UI.GridEditManager.GetColumnEditor(IGridEditableColumn column) +175 Telerik.Web.UI.GridBoundColumn.FillValues(IDictionary newValues, GridEditableItem editableItem) +82 Telerik.Web.UI.GridEditableItem.ExtractValues(IDictionary newValues) +164 Telerik.Web.UI.GridEditFormItem.ExtractValues(IDictionary newValues) +169 Telerik.Web.UI.GridTableView.ExtractValuesFromItem(IDictionary newValues, GridEditableItem editedItem) +115 Telerik.Web.UI.GridItemBuilder.CreateItems(GridGroupingContext group) +1037 Telerik.Web.UI.GridTableView.CreateItems(IEnumerator enumerator, GridColumn[] columns, ControlCollection controls) +193 Telerik.Web.UI.GridTableView.CreateControlHierarchy(Boolean useDataSource) +1607 Telerik.Web.UI.GridTableView.CreateChildControls(IEnumerable dataSource, Boolean useDataSource) +802 System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +161 System.Web.UI.Control.EnsureChildControls() +102 Telerik.Web.UI.GridTableViewBase.get_Controls() +33 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +24 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Control.LoadChildViewStateByIndex(ArrayList childState) +148 System.Web.UI.Control.LoadViewStateRecursive(Object savedState) +225 System.Web.UI.Page.LoadAllState() +312 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +747 |
protected
void
uxrdgrid_Deficiencias_NeedDataSource(
object
source, Telerik.Web.UI.GridNeedDataSourceEventArgs e)
{
DaoDeficiencias servicioDeficiencias =
new
DaoDeficiencias();
DaoMetodoRehabilitacion servicioMetodoRehabilitacion =
new
DaoMetodoRehabilitacion();
DaoDeficienciaMetodoRehabilitacion servicioDefienciaMetodoRehabilitacion =
new
DaoDeficienciaMetodoRehabilitacion();
DaoTipoValidezMetodoRehabilitacion servicioTipoValidezMetodoRehabilitacion =
new
DaoTipoValidezMetodoRehabilitacion();
IList listaDeficiencias = servicioDeficiencias.ObtenerTodos();
IList listaMetodosRehabilitacion = servicioMetodoRehabilitacion.ObtenerTodos();
IList listaDeficienciaMetodoRehabilitacion = servicioDefienciaMetodoRehabilitacion.ObtenerTodos();
IList listaTipoValidezMetodoRehabilitacion = servicioTipoValidezMetodoRehabilitacion.ObtenerTodos();
GridTableView tableview =
new
GridTableView(uxrdgrid_Deficiencias);
GridColumnCollection coleccionColumnas =
new
GridColumnCollection(tableview);
List<ListDictionary> listaDataSource =
new
List<ListDictionary>();
GridDropDownColumn column;
DataTable tablaDatos =
new
DataTable();
DataColumn columnaDatos;
DataRow filaDatos;
uxrdgrid_Deficiencias.Columns.Clear();
GridBoundColumn columnBound =
new
GridBoundColumn();
columnBound.DataField =
"Codigo_deficiencia"
;
columnBound.UniqueName =
"Codigo_deficiencia"
;
columnBound.HeaderText =
"Código Deficiencia"
;
columnBound.ReadOnly =
true
;
columnBound.ShowFilterIcon =
false
;
columnBound.AllowSorting =
true
;
uxrdgrid_Deficiencias.Columns.Add(columnBound);
GridTextBoxColumnEditor GridTextBoxColumnEditor1 =
new
GridTextBoxColumnEditor();
GridTextBoxColumnEditor1.ID =
"GridTextBoxColumnEditor1"
;
GridDropDownListColumnEditor GridDropDownListColumnEditor1 =
new
GridDropDownListColumnEditor();
GridDropDownListColumnEditor1.ID =
"GridDropDownListColumnEditor1"
;
columnaDatos =
new
DataColumn();
columnaDatos.DataType = Type.GetType(
"System.String"
);
columnaDatos.ColumnName =
"Codigo_deficiencia"
;
tablaDatos.Columns.Add(columnaDatos);
foreach
(T_METODO_REHABILITACION metodoRehabilitacion
in
listaMetodosRehabilitacion)
{
column =
new
GridDropDownColumn();
column.AllowFiltering =
false
;
column.DataSourceID = tiposValidezMetodoDataSource.ID;
column.HeaderText = metodoRehabilitacion.Nombre;
column.DataField = (
"Validez."
+ metodoRehabilitacion.Nombre).Trim();
column.UniqueName = (
"Validez."
+ metodoRehabilitacion.Nombre).Trim();
column.ListValueField =
"Id"
;
column.ListTextField =
"Nombre"
;
uxrdgrid_Deficiencias.Columns.Add(column);
columnaDatos =
new
DataColumn();
columnaDatos.DataType = Type.GetType(
"System.Int32"
);
columnaDatos.ColumnName = (
"Validez."
+ metodoRehabilitacion.Nombre).Trim();
tablaDatos.Columns.Add(columnaDatos);
}
foreach
(T_DEFICIENCIA deficienciaItem
in
listaDeficiencias)
{
filaDatos = tablaDatos.NewRow();
filaDatos[
"Codigo_deficiencia"
] = deficienciaItem.Codigo;
foreach
(T_METODO_REHABILITACION metodRehaItem
in
listaMetodosRehabilitacion)
{
foreach
(T_DEFICIENCIA_METODO_REHABILITACION defMetRehItem
in
listaDeficienciaMetodoRehabilitacion)
{
if
(defMetRehItem.Deficiencia.Id == deficienciaItem.Id && defMetRehItem.MetodoRehabilitacion.Id == metodRehaItem.Id)
{
filaDatos[(
"Validez."
+ defMetRehItem.MetodoRehabilitacion.Nombre).Trim()] = defMetRehItem.Validez.Id;
}
}
}
tablaDatos.Rows.Add(filaDatos);
}
uxrdgrid_Deficiencias.DataSource = tablaDatos;
}
<telerik:RadCodeBlock ID=
"RadCodeBlock1"
runat=
"server"
>
<script type=
"text/javascript"
>
function EditRow(sender, eventArgs) {
sender.get_masterTableView().editItem(eventArgs.get_itemIndexHierarchical());
}
</script>
</telerik:RadCodeBlock>
<asp:Label ID=
"Label4"
runat=
"server"
CssClass=
"PageTitle"
>Métodos de rehabilitación segun deficiencias</asp:Label>
<telerik:RadGrid ID=
"uxrdgrid_Deficiencias"
runat=
"server"
AllowFilteringByColumn=
"False"
AllowSorting=
"True"
AllowPaging=
"True"
PageSize=
"15"
GridLines=
"None"
width=
"100%"
Skin=
"Vista"
AllowAutomaticDeletes=
"False"
AllowAutomaticInserts=
"False"
AllowAutomaticUpdates=
"False"
onneeddatasource=
"uxrdgrid_Deficiencias_NeedDataSource"
ondeletecommand=
"uxrdgrid_Deficiencias_DeleteCommand"
oninsertcommand=
"uxrdgrid_Deficiencias_InsertCommand"
onupdatecommand=
"uxrdgrid_Deficiencias_UpdateCommand"
onitemcommand=
"uxrdgrid_Deficiencias_ItemCommand"
>
<ClientSettings EnableRowHoverStyle=
"false"
AllowKeyboardNavigation=
"true"
>
<Selecting AllowRowSelect=
"True"
/>
<ClientEvents OnRowDblClick=
"EditRow"
/>
<KeyboardNavigationSettings EnableKeyboardShortcuts=
"true"
AllowActiveRowCycle=
"true"
/>
</ClientSettings>
<GroupingSettings CaseSensitive=
"false"
/>
<MasterTableView AutoGenerateColumns=
"False"
DataKeyNames=
"Codigo_deficiencia"
ClientDataKeyNames=
"Codigo_deficiencia"
EditMode=
"PopUp"
CommandItemDisplay=
"Bottom"
>
<CommandItemSettings AddNewRecordText=
"Añadir nuevo registro"
RefreshText=
"Refrescar"
/>
<EditFormSettings InsertCaption=
"Crear nuevo Detalle de Inspección"
CaptionFormatString=
"Editar Detalle de Inspección: {0}"
CaptionDataField=
"Codigo_Deficiencia"
EditColumn-CancelText=
"Cancelar"
EditColumn-Display=
"True"
EditFormType=
"AutoGenerated"
>
<FormCaptionStyle CssClass=
"EditFormHeader"
></FormCaptionStyle>
<FormMainTableStyle GridLines=
"None"
CellSpacing=
"5"
CellPadding=
"3"
Width=
"100%"
/>
<FormTableStyle CellSpacing=
"0"
CellPadding=
"2"
Height=
"60px"
/>
<EditColumn ButtonType=
"ImageButton"
InsertText=
"Guardar"
UpdateText=
"Guardar cambios"
UniqueName=
"EditCommandColumn1"
CancelText=
"Cancelar edición"
>
</EditColumn>
<FormTableButtonRowStyle HorizontalAlign=
"Right"
CssClass=
"EditFormButtonRow"
></FormTableButtonRowStyle>
<PopUpSettings Modal=
"True"
Width=
""
></PopUpSettings>
</EditFormSettings>
</MasterTableView>
</telerik:RadGrid>
<asp:ObjectDataSource ID=
"tiposValidezMetodoDataSource"
runat=
"server"
OldValuesParameterFormatString=
"original_{0}"
SelectMethod=
"ObtenerTodos"
TypeName=
"Aquatec.MetresaWeb.Web.DaoServices.DaoTipoValidezMetodoRehabilitacion"
>
</asp:ObjectDataSource>
<telerik:RadScriptBlock ID="RadScriptBlock1" runat="server"> <script language="javascript" type="text/javascript"> function refreshParent() { __doPostBack('<%=btnSave.UniqueID %>', ''); } </script> </telerik:RadScriptBlock>