Heim > Backend-Entwicklung > C++ > Wie zeige ich Städtenamen anstelle von IDs in Jqgrid mithilfe serverseitiger Erweiterungen an?

Wie zeige ich Städtenamen anstelle von IDs in Jqgrid mithilfe serverseitiger Erweiterungen an?

Susan Sarandon
Freigeben: 2025-01-23 06:57:11
Original
691 Leute haben es durchsucht

How to Display City Names Instead of IDs in Jqgrid Using Server-Side Extensions?

Serverseitige Jqgrid-Erweiterungen: Umgang mit indirekten Datenbeziehungen

Diese Anleitung zeigt, wie Sie beschreibende Städtenamen anstelle von numerischen IDs in einem Jqgrid anzeigen und dabei serverseitige Erweiterungen nutzen, um indirekte Datenbeziehungen zu verwalten. Das Beispiel umfasst zwei Tabellen: Students (SID, SNAME, CITY) und Locations (CID, CNAME). Die Herausforderung besteht darin, CNAME (Name der Stadt) in der Spalte CITY des Jqgrids darzustellen, in der derzeit CID (Stadt-ID) gespeichert ist. Direkte Datenbankverknüpfungen sind aufgrund der Datenstruktur der Student-Klasse ungeeignet.

Die Lösung besteht darin, die JSON-Antwort des Servers um die erforderlichen Zuordnungsinformationen zu erweitern. Wir führen eine colModelOptions-Eigenschaft ein, um die Spalte CITY dynamisch zu konfigurieren:

<code class="language-json">{
    "colModelOptions": {
        "CITY": {
            "formatter": "select",
            "edittype": "select",
            "editoptions": {
                "value": "11:Chennai;13:Delhi;12:Mumbai"
            },
            "stype": "select",
            "searchoptions": {
                "sopt": [ "eq", "ne" ],
                "value": ":Any;11:Chennai;13:Delhi;12:Mumbai"
            }
        }
    },
    "rows": [
        { "SID": "1",  "SNAME": "ABC", "CITY": "11" },
        // ... more rows
    ]
}</code>
Nach dem Login kopieren

Diese JSON-Antwort stellt Jqgrid die notwendigen Daten zur Anzeige von Städtenamen bereit. Die Eigenschaft editoptions.value definiert die Zuordnung zwischen IDs und Namen.

Der beforeProcessing-Ereignishandler von Jqgrid wendet diese Spaltenoptionen dynamisch an:

<code class="language-javascript">beforeProcessing: function (response) {
    var $self = $(this), options = response.colModelOptions, p;
    if (options != null) {
        for (p in options) {
            if (options.hasOwnProperty(p)) {
                $self.jqGrid("setColProp", p, options[p]);
                // ... any additional processing
            }
        }
    }
}</code>
Nach dem Login kopieren

Dieser Code durchläuft colModelOptions und aktualisiert die Eigenschaften der CITY-Spalte in Jqgrid. Diese dynamische Konfiguration stellt sicher, dass Städtenamen anstelle von IDs angezeigt werden, was zu einem benutzerfreundlicheren und intuitiveren Raster führt. Diese Methode verwaltet indirekte Datenbeziehungen effektiv, ohne die Datenbankstruktur zu ändern oder ineffiziente clientseitige Suchvorgänge zu verwenden.

Das obige ist der detaillierte Inhalt vonWie zeige ich Städtenamen anstelle von IDs in Jqgrid mithilfe serverseitiger Erweiterungen an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage