Maison > développement back-end > C++ > Comment afficher les noms de villes au lieu des identifiants dans Jqgrid à l'aide d'extensions côté serveur ?

Comment afficher les noms de villes au lieu des identifiants dans Jqgrid à l'aide d'extensions côté serveur ?

Susan Sarandon
Libérer: 2025-01-23 06:57:11
original
647 Les gens l'ont consulté

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

Extensions côté serveur Jqgrid : gestion des relations de données indirectes

Ce guide montre comment afficher des noms de ville descriptifs au lieu d'identifiants numériques dans un Jqgrid, en tirant parti des extensions côté serveur pour gérer les relations de données indirectes. L'exemple implique deux tables : Students (SID, SNAME, CITY) et Locations (CID, CNAME). Le défi réside dans la présentation de CNAME (nom de la ville) dans la colonne CITY de Jqgrid, qui stocke actuellement CID (identifiant de la ville). Les jointures directes de bases de données ne conviennent pas en raison de la structure de données de la classe Student.

La solution consiste à augmenter la réponse JSON du serveur pour inclure les informations de mappage nécessaires. Nous introduisons une propriété colModelOptions pour configurer dynamiquement la colonne CITY :

<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>
Copier après la connexion

Cette réponse JSON fournit à Jqgrid les données nécessaires pour afficher les noms de villes. La propriété editoptions.value définit le mappage entre les identifiants et les noms.

Le gestionnaire d'événements beforeProcessing de Jqgrid applique dynamiquement ces options de colonne :

<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>
Copier après la connexion

Ce code parcourt colModelOptions, mettant à jour les propriétés de la colonne CITY dans Jqgrid. Cette configuration dynamique garantit que les noms de villes sont affichés à la place des identifiants, ce qui donne lieu à une grille plus conviviale et intuitive. Cette méthode gère efficacement les relations de données indirectes sans modifier la structure de la base de données ni utiliser de recherches inefficaces côté client.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal