Ein benutzerdefiniertes Steuerelement an ein Feld binden
Ziel
Den nativen Editor eines Felds in einem modellgesteuerten Formular durch ein registriertes benutzerdefiniertes Steuerelement ersetzen, sodass das Feld seinen Wert über das Steuerelement anzeigt und bearbeitet.
Voraussetzungen
- Sie sind als Ersteller angemeldet und berechtigt, die Lösung des Formulars zu bearbeiten.
- Das Feld, für das Sie das Steuerelement verwenden möchten, existiert bereits in der Entität und ist auf dem Formular platziert.
- Das benutzerdefinierte Steuerelement ist in der Umgebung, die Sie bearbeiten, registriert und installiert (siehe Ein benutzerdefiniertes Steuerelement registrieren), und seine Ersetzungsliste enthält den Steuerelementtyp des Felds.
Schritte
- Öffnen Sie die Lösung, wählen Sie Tabellen, öffnen Sie die Tabelle und wählen Sie Formulare. Öffnen Sie das Formular im Formular-Designer.
- Ziehen Sie das Feld aus Verfügbare Felder in einen Abschnitt, oder wählen Sie es aus, wenn es schon auf dem Formular steht.
- Öffnen Sie unter Eigenschaften die Einstellung Benutzerdefiniertes Steuerelement. Sie
listet die in dieser Umgebung installierten Steuerelemente, die den Datentyp dieses Felds
ersetzen können (ein Steuerelement mit dem universellen Typ
Customwird für jedes Feld angeboten). Keine behält den eigenen Editor des Felds. Die Einstellung Steuerelement darüber wählt zwischen den eingebauten Editoren; ein benutzerdefiniertes Steuerelement ersetzt den, den sie nennt. - Wählen Sie das Steuerelement, zum Beispiel Badge field.
- Wählen Sie Speichern.
Die Liste erscheint nur, wenn mindestens ein installiertes Steuerelement das Feld ersetzen kann. Zeigt ein Feld keine Einstellung Benutzerdefiniertes Steuerelement, gibt es noch keines dafür.
Was im Hintergrund passiert
Das Formular speichert den logischen Namen des Steuerelements zu diesem Feld. Öffnet ein Benutzer das Formular im Player für modellgesteuerte Apps, löst der Player das Steuerelement des Felds zu dem in der Umgebung installierten Steuerelement auf und bindet es anstelle des nativen Editors ein; es wird als Module-Federation-Remote von einem Ursprung auf der Positivliste geladen. Das benutzerdefinierte Steuerelement erhält den aktuellen Wert des Felds und schreibt Änderungen über dasselbe Formular zurück – der Wert, den das Steuerelement schreibt, wird also genauso gespeichert wie ein Wert, der in ein natives Feld eingegeben wurde. Ist das referenzierte Steuerelement in der Umgebung nicht installiert, fällt das Feld auf seinen nativen Editor zurück, statt das Formular unbrauchbar zu machen.
Fehlerbehebung
- Das Steuerelement erscheint nicht in der Auswahl. – Das Steuerelement ist in dieser Umgebung möglicherweise nicht installiert, oder seine Ersetzungsliste enthält den Steuerelementtyp dieses Felds nicht. Registrieren oder konfigurieren Sie das Steuerelement neu und öffnen Sie das Formular erneut.
- Das Feld zeigt „Der Code dieses Steuerelements wird von einem blockierten Ursprung ausgeliefert“. – Der remoteEntry-Ursprung des Steuerelements steht nicht auf der Positivliste der Umgebung. Bitten Sie einen Administrator, den Ursprung zur Positivliste der Umgebung hinzuzufügen.
- Das Feld zeigt nach einem Import seinen nativen Editor statt des Steuerelements. – Das Steuerelement war nicht in der importierten Lösung enthalten oder ist in der Zielumgebung noch nicht installiert. Importieren Sie die Lösung, die das Steuerelement enthält, und öffnen Sie das Formular erneut.
- Eine Schaltfläche des Steuerelements löst bei jedem Klick darin aus (ein Unterschriftenfeld wird gelöscht, sobald Sie die Maustaste loslassen). — behoben. Das Formular hat jedes Feld in ein Label eingeschlossen, und ein Klick irgendwo in einem Label wird an die erste Schaltfläche darin weitergegeben. Ein Feld mit einem benutzerdefinierten Steuerelement wird nicht mehr so eingeschlossen.
Verwandte Szenarien
- Ein benutzerdefiniertes Steuerelement registrieren.
- Einem Formular ein Feld hinzufügen.
- Ein Formular erstellen.