Saltar al contenido principal

Enlazar un control personalizado a un campo

Objetivo​

Sustituir el editor nativo de un campo de un formulario basado en modelo por un control personalizado registrado, para que ese campo muestre y edite su valor a través del control.

Requisitos previos​

  • Ha iniciado sesión como creador con permiso para editar la solución del formulario.
  • El campo en el que quiere usar el control ya existe en la tabla y está colocado en el formulario.
  • El control personalizado está registrado e instalado en el entorno que está editando (consulte Registrar un control personalizado), y su lista de tipos a los que sustituye incluye el tipo de control del campo.

Pasos​

  1. Abra la solución, seleccione Tablas, abra la tabla y seleccione Formularios. Abra el formulario en el diseñador de formularios.
  2. Arrastre el campo desde Campos disponibles a una sección, o selecciónelo si ya está en el formulario.
  3. En Propiedades, abra Control personalizado. Muestra los controles personalizados instalados en este entorno que pueden sustituir al tipo de datos de este campo (un control que declara el tipo universal Custom se ofrece para cualquier campo). Ninguno mantiene el editor propio del campo. El ajuste Control de encima elige entre los editores integrados; un control personalizado reemplaza el que indique.
  4. Elija el control, por ejemplo Badge field.
  5. Seleccione Guardar.

La lista solo aparece cuando al menos un control instalado puede sustituir al campo, así que un campo sin ajuste Control personalizado todavía no tiene ninguno que ofrecerle.

Qué ocurre entre bastidores​

El formulario registra el nombre lógico del control asociado a ese campo. Cuando un usuario abre el formulario en el reproductor de aplicaciones basadas en modelo, el reproductor resuelve el control del campo al control instalado en el entorno y lo monta en lugar del editor nativo, cargándolo como un remoto de Module Federation desde un origen permitido. El control personalizado recibe el valor actual del campo y devuelve los cambios a través del mismo formulario, así que el valor que escribe el control se guarda exactamente igual que un valor escrito en un campo nativo. Si el control al que se hace referencia no está instalado en el entorno, el campo recurre a su editor nativo en lugar de romper el formulario.

Solución de problemas​

  • El control no aparece en el selector. Puede que el control no esté instalado en este entorno o que su lista de tipos a los que sustituye no incluya el tipo de control de este campo. Registre o vuelva a configurar el control y después vuelva a abrir el formulario.
  • El campo muestra «El código de este control se sirve desde un origen bloqueado». El origen de remoteEntry del control no está en la lista de permitidos del entorno. Pida a un administrador que agregue el origen a la lista de permitidos del entorno.
  • Después de la importación, el campo muestra su editor nativo en lugar del control. El control no se incluyó en la solución importada o todavía no está instalado en el entorno de destino. Importe la solución que contiene el control y después vuelva a abrir el formulario.
  • Un botón del propio control se activa cada vez que hace clic dentro de él (un panel de firma se borra en cuanto suelta el ratón). — corregido. El formulario envolvía cada campo en una etiqueta, y un clic en cualquier parte de una etiqueta se pasa al primer botón que contiene. Un campo con un control personalizado ya no se envuelve así.

Escenarios relacionados​

  • Registrar un control personalizado.
  • Agregar un campo a un formulario.
  • Crear un formulario.