Hi, I need to extract the new values from the GridDateTimeColumn to validate that one date is not greater than or less than another as needed. Do this but only extract the previous values in the edited items.
<MasterTableView DataSourceID="sdsControlGranel" AutoGenerateColumns="False" CommandItemDisplay="Top" EditMode="Batch"> <CommandItemSettings SaveChangesText="Guardar cambios" CancelChangesText="Cancelar cambios" ShowExportToExcelButton="True" ShowAddNewRecordButton="false"></CommandItemSettings> <BatchEditingSettings EditType="Row" /> <Columns> <telerik:GridDateTimeColumn DataField="FcAsignacion" HeaderText="Fecha Asignación" SortExpression="FcAsignacion" UniqueName="FcAsignacion" DataType="System.DateTime" PickerType="DateTimePicker" FilterControlAltText="Filter FcAsignacion column" CurrentFilterFunction="Contains"></telerik:GridDateTimeColumn> <telerik:GridDateTimeColumn DataField="FcInicioOperacion" HeaderText="Fecha Inicio" SortExpression="FcInicioOperacion" UniqueName="FcInicioOperacion" DataType="System.DateTime" PickerType="DateTimePicker" FilterControlAltText="Filter FcInicioOperacion column" CurrentFilterFunction="Contains"></telerik:GridDateTimeColumn> <telerik:GridDateTimeColumn DataField="FcFinalOperacion" HeaderText="Fecha Final" SortExpression="FcFinalOperacion" UniqueName="FcFinalOperacion" DataType="System.DateTime" PickerType="DateTimePicker" FilterControlAltText="Filter FcFinalOperacion column" CurrentFilterFunction="Contains"></telerik:GridDateTimeColumn> </Columns> </MasterTableView>
protected void rgControlGranel_UpdateCommand(object sender, GridCommandEventArgs e) { GridEditableItem editItem = e.Item as GridEditableItem; Hashtable newValues = new Hashtable(); e.Item.OwnerTableView.ExtractValuesFromItem(newValues, editItem); DateTime fcAsignacion = Convert.ToDateTime(newValues["FcAsignacion"].ToString()); DateTime fcInicio = Convert.ToDateTime(newValues["FcInicioOperacion"].ToString()); if (DateTime.Compare(fcAsignacion, fcInicio) > 0) { e.Canceled = true; this.TextoMensaje("La fecha de asignación no puede ser mayor a la de inicio", 3); ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "alertMessage", "MostrarMensaje();", true); } }
