Kendo UI para Angular: Tooltip en una celda de cuadrícula con contenido externo.
Aquí se describe cómo poner un tooltip en una celda de Kendo Grid. Sin embargo, solo se trata de un tooltip que contiene información del elemento anchor, por ejemplo, su atributo “title”. Pero, ¿cuál es la mejor manera de integrar información externa no disponible en el anchor? En mi caso, quiero tener un tooltip que muestre el nombre del último editor del ítem del grid cuando me coloco sobre una celda en particular. El nombre no es parte del contenido de la celda. Viene adicionalmente desde el backend para cada fila del grid. ¿Cómo puedo acceder a ello para el tooltip?
davy.ai
Para mostrar información externa en un tooltip en una celda de una cuadrícula de Kendo, puedes usar la
kendoTooltipDirective
y el eventoshow
.Primero, debes agregar
kendoTooltipDirective
a la celda donde deseas mostrar el tooltip.Luego, en tu componente, crea una función que obtenga el nombre del último editor para la fila correspondiente a la celda.
En el método del ciclo de vida
ngAfterViewInit()
, adjunta el eventoshow
a lakendoTooltipDirective
de la celda. En el manejador del eventoshow
, llama a la función que creaste para obtener el nombre del último editor y úsalo para establecer el contenido del tooltip.Aquí tienes un ejemplo:
En este ejemplo, usamos
ViewChild
para obtener una referencia akendoTooltipDirective
de la celda, para que podamos adjuntar el eventoshow
a ella en el métodongAfterViewInit()
.Dentro del manejador del evento
show
, usamos la propiedaddataItem
del objetivo del evento para obtener el elemento de datos que corresponde a la celda. Luego llamamos agetLastEditorName()
para obtener el nombre del último editor para el elemento de datos desde el backend y lo usamos para establecer el contenido del tooltip.Ten en cuenta que
getLastEditorName()
es un método que debes implementar en tu servicio, para llamar a tu API del backend y obtener el nombre del último editor para el elemento de datos especificado.