¿Cuál es la forma más fácil y más robusta de alterar el control .NET DateTimePicker, para permitir a los usuarios ingresar los valores null
?¿Cómo alterar un control .NET DateTimePicker para permitir ingresar valores nulos?
Respuesta
Aquí hay un interesante article on CodeProject. El autor tiene anuló la propiedad Value para aceptar el valor nulo como DateTime.MinValue, manteniendo la validación de MinValue y MaxValue del control estándar. Eso es todo lo que hay.
Colocando una casilla de verificación adicional etiquetada como "habilitar notificación" que activa/desactiva el DateTimePicker.
solución de Tri no sabía muy corta para mí y por lo que pensó el señor Grazioli y él hizo algo al respecto: http://www.codeguru.com/csharp/csharp/cs_controls/custom/article.php/c9645
No es necesario modificarlo para hacerlo.
El DateTimePicker
en .net en realidad tiene una casilla de verificación incorporada.
Establezca la propiedad ShowCheckBox
en .
Luego puede usar la propiedad Checked
para ver si el usuario ha ingresado un valor.
http://msdn.microsoft.com/en-us/library/system.windows.forms.datetimepicker.showcheckbox(VS.80).aspx
La implementación de la casilla de verificación es todo un fracaso. No desencadena eventos adecuadamente –
he publicado mi camino más largo solución, que tiene algunos hallazgos en el código comentarios acerca de los problemas peculiares con este control:
Establecer la propiedad ShowCheckBox true. continuación, puede utilizar la característica sea comprobada la siguiente manera:
private void dateTimePicker1_ValueChanged(object sender, EventArgs e)
{
DateTimePicker thisDateTimePicker = (DateTimePicker)sender;
if (thisDateTimePicker.Checked == false)
{
thisDateTimePicker.CustomFormat = @" "; //space
thisDateTimePicker.Format = DateTimePickerFormat.Custom;
}
else
{
thisDateTimePicker.Format = DateTimePickerFormat.Short;
}
}
NullableDateTimePicker
- 1. ¿Debo permitir valores nulos en un esquema db?
- 2. ¿Cómo puedo establecer un control DateTimePicker en una fecha específica?
- 3. Predeterminado para valores nulos
- 4. DateTimePicker para WPF 4.0
- 5. Hibernate Valores nulos para @CollectionOfElements
- 6. ¿Cómo desactivo algunas fechas en un control DateTimePicker?
- 7. XSD: opciones para permitir valores nulos al declarar xs: tipos de datos enteros
- 8. Abrir el control DateTimePicker C# programáticamente
- 9. NSSortDescriptor y valores nulos
- 10. C# - LINQToExcel - Valores Nulos
- 11. Cómo cambiar el cultivo a DateTimepicker o control de calendario en .Net
- 12. ¿Cómo verifico los valores nulos en un Wicket Textfield?
- 13. Valores de Concat en MySQL Query (para manejar valores nulos)
- 14. ¿Eliminar valores nulos de un mapa?
- 15. Cambiar la cultura DateTimePicker para .Net especialmente el calendario persa
- 16. Leer valores nulos del archivo
- 17. Cómo evitar valores nulos en Jasper informa
- 18. Cómo usar datareader con valores nulos
- 19. .NET: ¿Permitir NULLS en los campos DB?
- 20. cómo usar DataTable.Select() para seleccionar valores nulos/vacíos?
- 21. Seleccionar valores nulos en SQLAlchemy
- 22. PHP/MySQL Insertar valores nulos
- 23. indexación valores nulos en PostgreSQL
- 24. Cómo utilizar DateTimePicker en WPF?
- 25. MySQL GROUP_CONCAT con valores nulos
- 26. ¿MySQL 5.0 indexa valores nulos?
- 27. ¿Qué control usar para ingresar texto rápido (cuadro de entrada)?
- 28. Cómo establecer datetimepicker valor a la fecha solamente en (NET)
- 29. columnas con valores nulos Actualizar
- 30. Cómo permitir al usuario mover un control en el formulario
Sí señor de Grazoli hace hacer el trabajo aunque creo que alguien debe revisarlo y tratar de deshacerse de esos feos WndProc llama – Calanus
La otra cosa sobre el código es que no parecía hacer lo que se suponía que debía hacer. No sé, tal vez estaba haciendo algo mal. No tienes mucho tiempo para perder el tiempo con eso. Usar la idea DTPs ShowCheckBox parece más prometedor realmente. – IAbstract
Si bien la solución permite al usuario borrar una fecha, ya no puede establecer el foco en el control o usar el teclado para volver a ingresar una fecha no nula. Un paso atrás, dos atrás. – ChadD