es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El valor del componente de selección de fecha personalizado en gridPro siempre es nulo.

Quiero usar un DatePicker como componente personalizado en Vaadin GridPro. Dado que solo se admiten nativamente checkbox, select y texto como EditColumn, lo intenté con un componente personalizado.


final DatePicker componente = new DatePicker();
this.medicationAdjustmentRules.addEditColumn(valor -> (valor.getValidUntil() != null ? valor.getValidUntil().format(this.formatter) : null))
.custom(componente, (reglaAjusteMedicamento, nuevoValor) -> reglaAjusteMedicamento.setValidUntil(componente.getValue() != null ? componente.getValue() : nuevoValor))
.setHeader("validUntil");

Ambos component.getValue() y newValue siempre son nulos. ¿Qué estoy haciendo mal?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Basado en el fragmento de código proporcionado, parece que el problema está en el uso del componente DatePicker. No se está inicializando correctamente y, por lo tanto, tanto component.getValue() como newValue son siempre nulos.

    Para inicializar correctamente el componente DatePicker, puede probar el siguiente código:

    “`final DatePicker datePicker = new DatePicker();
    datePicker.setValue(LocalDate.now());

    this.medicationAdjustmentRules.addEditColumn(value -> (value.getValidUntil() != null ? value.getValidUntil().format(this.formatter) : null))
    .custom(datePicker, (medicationAdjustmentRule, newValue) -> medicationAdjustmentRule.setValidUntil(datePicker.getValue() != null ? datePicker.getValue() : newValue))
    .setHeader(“validUntil”);
    “`

    Aquí, hemos establecido el valor de DatePicker en la fecha actual usando datePicker.setValue(LocalDate.now()) y luego pasamos este componente al método custom(). En el método custom(), estamos verificando si el valor de DatePicker no es nulo, y si no es nulo, estamos estableciendo el valor de validUntil en ese valor. Si es nulo, lo establecemos en el valor existente.

    Asegúrese de importar los paquetes y clases necesarios para DatePicker y LocalDate.

Comments are closed.