Als von Plug-In entwickelte Berichtssoftware muss Fernereport selbst entwickelt werden. Das von Fanruan entwickelte Plug-in-Paket wird offiziell vom Fanruan Forum bereitgestellt. Sie können zum Fanruan -Forum gehen. In diesem Artikel wird hauptsächlich vorgestellt, wie eine benutzerdefinierte Kontrolle entwickelt wird. Hier ist eine Methodik.
Schritt 1: Sofort eine Schnittstelle, die die Kontrolle registriert
Geben Sie vier Informationen zu unserer Steuerklasse, unserer Schnittstellenklasse, dem Symbolpfad und dem Namen des Steuerungsarts an
Paket com.hg.free.plugin.customcombo.param; import com.fr.design.designer Klasse <? erweitert Widget> classForWidget () {return CustomCombobox.Class; } @Override public class <?> AussehenForWidget () {return xcombobox.class; } @Override public String iconPathforWidget () {return "/com/fr/web/images/combobox.png"; } @Override public String nameForWidget () {return "benutzerdefinierte Dropdown-Box"; }}Der zweite Schritt besteht darin, die Kontrollklasse neu zu schreiben
Paket com.hg.free.plugin.customcombo.param; import com.fr.form.ui.combobox; import com.fr.ui.datafilter; öffentliche Klasse CustomCombobox erweitert Combobox {private statische endgültige lange Serialversionuid = 7169777106215333536l; @Override public String getXtype () {return "CustomCombo"; } @Override Protected DataFilter createdatafilter () {neu customCombobOxDatafilter () zurückgeben; }}Da die Filtermethode geändert wird, müssen Sie einen Filter neu schreiben
Paket com.hg.free.plugin.customcombo.param; import com.fr.form.ui.comboboxDatafilter; öffentliche Klasse CustomComboboxDatafilter erweitert ComboboxDatafilter {@Override public boolean isMatch (String txt, String Filter) {if (null == txt && null! if (null == txt && null == filter) return true; return txt.indexof (filter)! =-1; }}Schritt 3: Erben Sie die Front-End-Steuerung JS
(Funktion ($) {fr.customcomboboxeditor = fr.extend (fr.comboboxeditor, {_init: function () {fr.customcomboboxeditor.superClass._init.Apply (this, arguments);}); $.OK ~ Das obige ist alle Codeentwicklung ~ Schreiben Sie dann einen XML und packen Sie es in ein Plug-In mit Ant.
Code Erläuterung:
Lassen Sie uns zunächst sehen, was dieser Code bedeutet?
Ich habe eine Steuerung mit dem Kontrolltyp CustomComboboxeditor definiert. Es erbt alle Methoden und Eigenschaften von Comboboxeditor, und ich habe das Tag des neu definierten Steuertyps als CustomCombo deklariert. Was nützt dieses Tag? Ich werde nicht über andere Verwendungszwecke sprechen. Nur der Zweck hier ist, dass Java selbst nicht zulassen, dass das Front-End das bekommen, was die Kontrolle erzeugt. Statt Fr.Customcomboboxeditor wie eine Karte ~ und dann die Konfiguration des Steuerelements in diese Methode ausführt. Unsere Kontrolle wird generiert.
Da in diesem Beispiel keine Änderung am vorderen Ende erforderlich ist, werden keine Änderungen vorgenommen.
Unser Beispiel ist es, die Fuzzy -Matching -Methode zu ändern.
Was hat der ursprüngliche Kontroll -Matching -Mechanismus getan? Es ist so: Angenommen, ich bin ein Chef (ich kann es nur annehmen). Jetzt möchte ich die Details eines Papiervertrags wissen, aber das Unternehmen hat einen großen Papiervertrag. Wie finde ich ihn? Natürlich beauftrage ich eine Sekretärin (Schönheit ist die beste) und sagte ihr, welche Informationen ich wollte. Dann ging sie, um es zu finden und gab mir den letzten Vertrag, den sie fand.
Der Kontroll -Combobox hier ist der Chef, ComboboxDatafilter ist der Sekretär, das ist es, was es bedeutet. Jeder Sekretär hier muss seine eigenen Methoden haben, um einen Vertrag zu finden. In der Vergangenheit fand der Sekretär alles, wenn es ein wenig verwandt war. Der neue Sekretär fand nur den Vertrag, der mit den vom Chef veranlassten Informationen übereinstimmte. Die Methode, um die Übereinstimmung zu finden, ist übereinstimmt. Dieser Code ist so. Solange der Code sorgfältig analysiert wird, kann er viele Transaktionen im wirklichen Leben zugeordnet werden. Da der Code auch von Menschen entworfen wurde, kann Logik dem Denken der Umgang mit Menschen niemals entkommen.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels für das Studium oder die Arbeit eines jeden hilfreich sein wird. Ich hoffe auch, Wulin.com mehr zu unterstützen!