Retroceder   Foros del Web > Programación para sitios web > .NET > web forms

Respuesta
 
Herramientas Desplegado
Antiguo 19-mar-2008, 08:48   #1 (permalink)
Rodro ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 213
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.
Rodro está desconectado   Responder Citando
Antiguo 19-mar-2008, 09:04   #2 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.707
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
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
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay está desconectado   Responder Citando
Antiguo 19-mar-2008, 09:08   #3 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.707
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

Pero recuerda que la fecha debe validarse en formato yyyy-MM-dd
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay está desconectado   Responder Citando
Antiguo 20-mar-2008, 09:16   #4 (permalink)
Rodro ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 213
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.
Rodro está desconectado   Responder Citando
Antiguo 20-mar-2008, 09:19   #5 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.707
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
Re: Valiar fecha inicio y fecha fin del calendarextender con c#.

RangeValidator es valido tambien para ello
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay está desconectado   Responder Citando
Antiguo 11-abr-2008, 10:33   #6 (permalink)
Rodro ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 213
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.
Rodro está desconectado   Responder Citando
Antiguo 11-abr-2008, 11:33   #7 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.707
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
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>
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay está desconectado   Responder Citando
Antiguo 11-abr-2008, 14:05   #8 (permalink)
Rodro ha deshabilitado el karma
 
Fecha de Ingreso: junio-2007
Mensajes: 213
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.
Rodro está desconectado   Responder Citando
Antiguo 11-abr-2008, 14:16   #9 (permalink)
Peterpay está en el buen camino
 
Avatar de Peterpay
 
Fecha de Ingreso: septiembre-2007
Ubicación: Mexico
Mensajes: 1.707
Enviar un mensaje por MSN a Peterpay Enviar un mensaje por Skype™ a Peterpay
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
__________________
Saludos
Peterpay
MCPD Enterprise Applications
Peterpay está desconectado   Responder Citando
Respuesta
No hay votos aún.


Herramientas
Desplegado

Normas de Publicación
No puedes crear nuevos temas
No puedes responder temas
No puedes subir archivos adjuntos
No puedes editar tus mensajes

BB code is Activado
Caritas están Activado
[IMG] está Activado
Código HTML está Desactivado


La Zona horaria es GMT -6. Ahora son las 01:06.


Message Board Statistics

LinkBacks Enabled by vBSEO 3.1.0

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93