Foros del Web » Programando para Internet » ASPX (.net) »

Valiar fecha inicio y fecha fin del calendarextender con c#.

Estas en el tema de Valiar fecha inicio y fecha fin del calendarextender con c#. en el foro de ASPX (.net) en Foros del Web. Hola a todos, les dejo mi inquietud. Yo tengo una pantalla de criterios para generar reportes con crystal reports desde asp.net con c#, en la ...
  #1 (permalink)  
Antiguo 19/03/2008, 08:48
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Valiar fecha inicio y fecha fin del calendarextender con c#.

Hola a todos, les dejo mi inquietud.

Yo tengo una pantalla de criterios para generar reportes con crystal reports desde asp.net con c#, en la misma tengo varios combos que son los filtros par mi reporte, pero tambien engo que hacer filtros por fecha inicio y fecha fin, y para que se vea bonito y facil para el usuario trabajé con el calendarextender de ajax y lo que hago es que al dar clic sobre el textbox de fechainicio me aparece el calendarextender de ajax el usuario escoge una fecha y esta se carga en el textbox de esta manera:

Fecha inicio: Marzo, 2008

Fecha fin: Enero, 2008

yo quisiera dos cosas la primera como validar que la fecha inicio sea menor a la fecha fin y la segunda como coger el mes y el año por separado para enviarlos como parametros para el reporte ya que la tabla con los que lo comparo esta de la siguiente manera:

tblInformacion

1
Marzo
2007
2
Abril
2007
3
Mayo
2007

no se si me he explicado bien espero alguien me pueda dar una mano con esto. gracias.
  #2 (permalink)  
Antiguo 19/03/2008, 09:04
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

usa un RangeValidator y setea las propiedades del 2do validado en base ala seleccion del primero

RangeValidatorX.MinValue=seleccion1.AddDays(1).ToS tring();

asi garantizarias que el seleccionara una fecha mayor al menos por 1 dia a la primer fecha seleccionada
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #3 (permalink)  
Antiguo 19/03/2008, 09:08
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

Pero recuerda que la fecha debe validarse en formato yyyy-MM-dd
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #4 (permalink)  
Antiguo 20/03/2008, 09:16
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

Gracias por responder Peterpay pero ya no estoy usando el calendarextender de ajax, estoy usando dos calendar normales pero a cada uno lo puse dentro de un updatepanel de la siguiente manera:

<div class="medidas">Filtro por fechas:
<asp:CheckBox ID="chb_inicio" runat="server" AutoPostBack="true" OnCheckedChanged="chb_inicio_CheckedChanged" />
</div>
<div class="medidas">
<label><asp:Label ID="lbl_inicio" runat="server" Text="Fecha inicio:" Visible="false"></asp:Label></label>
<asp:TextBox ID="txt_inicio" runat="server" Visible="false" CssClass="txtdatos"></asp:TextBox><asp:TextBox ID="txt_mes_inicio"
runat="server" Visible="false"></asp:TextBox><asp:TextBox ID="txt_anio_inicio" runat="server" Visible="false"></asp:TextBox>
<asp:UpdatePanel ID="upd_inicio" runat="server">
<ContentTemplate>
<asp:Calendar ID="cld_inicio" runat="server" Visible="false" CssClass="MyCalendar" OnSelectionChanged="cld_inicio_SelectionChanged"></asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<div class="medidas">
<label><asp:Label ID="lbl_fin" runat="server" Text="Fecha fin:" Visible="false"></asp:Label></label>
<asp:TextBox ID="txt_fin" runat="server" Visible="false" CssClass="txtdatos"></asp:TextBox><asp:TextBox ID="txt_mes_fin" runat="server" Visible="false"></asp:TextBox>
<asp:TextBox ID="txt_anio_fin" runat="server" Visible="false"></asp:TextBox>
<asp:UpdatePanel ID="upd_fin" runat="server">
<ContentTemplate>
<asp:Calendar ID="cld_fin" runat="server" CssClass="MyCalendar" Visible="false" OnSelectionChanged="cld_fin_SelectionChanged"></asp:Calendar>
</ContentTemplate>
</asp:UpdatePanel>
</div>

DE esta manera controlo el postback pero sigo sin validar las fechas, no sé si pueda validarlos con los RangeValidator porque estos no funcionan con ajax, no se si tienes alguna otra manera de controlarlos o alguna otra idea. Por favor lo necesito de urgencia.
  #5 (permalink)  
Antiguo 20/03/2008, 09:19
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

RangeValidator es valido tambien para ello
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #6 (permalink)  
Antiguo 11/04/2008, 10:33
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

Hola Pertepay te cuento que estoy desesperado aun no he podido validar las fecha inicio y fecha fin, ya no estoy trabajando con los calendar, ahora tengo solo dos combos por cada fecha de la siguiente manera:

Fecha inicio: Combomeses Comboanios

Fecha Fin: Combomeses Comboanios


pero no se como ultilzar los controles que me recomendaste con estos combos, podrias darme un ejemplo.
gracias de antemano.
  #7 (permalink)  
Antiguo 11/04/2008, 11:33
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

Aqui esta y funciona perfectamente

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePartialRendering="true" />
<asp:TextBox ID="inicio" runat="server"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtender1" runat="server" EnabledOnClient="true" PopupButtonID="inicio" TargetControlID="inicio" Format="dd/MM/yyyy">
</cc1:CalendarExtender>

<asp:TextBox ID="fin" runat="server"></asp:TextBox>
<cc1:CalendarExtender ID="CalendarExtender2" runat="server" EnabledOnClient="true" PopupButtonID="fin" TargetControlID="fin" Format="dd/MM/yyyy" >
</cc1:CalendarExtender>
&nbsp;

<asp:CompareValidator ID="mine" runat="server" ControlToCompare="inicio" ControlToValidate="fin" Type="Date" Operator="GreaterThan" ErrorMessage="Fecha Invalida"></asp:CompareValidator>
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
  #8 (permalink)  
Antiguo 11/04/2008, 14:05
 
Fecha de Ingreso: junio-2007
Mensajes: 253
Antigüedad: 16 años, 10 meses
Puntos: 0
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

Gracias por contestar nuevamente, pero yo ya no estoy trabajando con los calendarextender sino con dropdownlist de la siguiente manera:

<label for="inicio">Fecha Inicio:</label>

<asp:DropDownList ID="ddlmesinicio" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlmesinicio_SelectedIndex Changed">
<asp:ListItem Value="1">Enero</asp:ListItem>
<asp:ListItem Value="2">Febrero</asp:ListItem>
<asp:ListItem Value="3">Marzo</asp:ListItem>
<asp:ListItem Value="4">Abril</asp:ListItem>
<asp:ListItem Value="5">Mayo</asp:ListItem>
<asp:ListItem Value="6">Junio</asp:ListItem>
<asp:ListItem Value="7">Julio</asp:ListItem>
<asp:ListItem Value="8">Agosto</asp:ListItem>
<asp:ListItem Value="9">Septiembre</asp:ListItem>
<asp:ListItem Value="10">Octubre</asp:ListItem>
<asp:ListItem Value="11">Noviembre</asp:ListItem>
<asp:ListItem Value="12">Diciembre</asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddlainicio" runat="server" AutoPostBack="True" OnSelectedIndexChanged="ddlainicio_SelectedIndexCh anged">
</asp:DropDownList>
</div>

<label for="inicio">Fecha Fin:</label>
<asp:DropDownList ID="ddlmesfin" runat="server" AutoPostBack="True">
<asp:ListItem Value="1">Enero</asp:ListItem>
<asp:ListItem Value="2">Febrero</asp:ListItem>
<asp:ListItem Value="3">Marzo</asp:ListItem>
<asp:ListItem Value="4">Abril</asp:ListItem>
<asp:ListItem Value="5">Mayo</asp:ListItem>
<asp:ListItem Value="6">Junio</asp:ListItem>
<asp:ListItem Value="7">Julio</asp:ListItem>
<asp:ListItem Value="8">Agosto</asp:ListItem>
<asp:ListItem Value="9">Septiembre</asp:ListItem>
<asp:ListItem Value="10">Octubre</asp:ListItem>
<asp:ListItem Value="11">Noviembre</asp:ListItem>
<asp:ListItem Value="12">Diciembre</asp:ListItem>
</asp:DropDownList>

<asp:DropDownList ID="ddlafin" runat="server" AutoPostBack="True">
</asp:DropDownList><br />
<asp:CompareValidator ID="CompareValidator1" runat="server" Display="Dynamic" ErrorMessage="Fecha inicio debe ser menor a fecha fin" ControlToCompare="ddlainicio"
ControlToValidate="ddlafin" Operator="GreaterThanEqual"></asp:CompareValidator>
</div>

Con esa validación controlo que el añio fin inicio sea menor o igual en tal caso al anio fin, pero que pasa con el combo de los meses como controlo por ejemplo que no escoja Fecha inicio: Diciembre 2007 y Fecha fin: Enero 2007 de la forma que estoy controlando no me controla los meses.

Gracia por tu ayuda.
  #9 (permalink)  
Antiguo 11/04/2008, 14:16
Avatar de Peterpay
Colaborador
 
Fecha de Ingreso: septiembre-2007
Ubicación: San Francisco, United States
Mensajes: 3.858
Antigüedad: 16 años, 8 meses
Puntos: 87
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

asocialo con el tipo Date en la comparacion y con eso debe funcionar

Type="Date"

y parsea el dato en base a una seleccion como si tuvieras un label con la seleccion actual puedes crear un objeto date sin problemas
__________________
Curso WF4
http://cursos.gurudotnet.com/ DF
Aprende HTML5
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:47.