Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Memaparkan Nama Bandar Daripada ID dalam Jqgrid Menggunakan Sambungan Sisi Pelayan?
Pelanjutan Sisi Pelayan Jqgrid: Mengendalikan Perhubungan Data Tidak Langsung
Panduan ini menunjukkan cara untuk memaparkan nama bandar deskriptif dan bukannya ID berangka dalam Jqgrid, memanfaatkan sambungan sisi pelayan untuk mengurus perhubungan data tidak langsung. Contoh melibatkan dua jadual: Students
(SID, SNAME, CITY) dan Locations
(CID, CNAME). Cabarannya terletak pada mempersembahkan CNAME
(nama bandar) dalam lajur CITY
Jqgrid, yang pada masa ini menyimpan CID
(ID bandar). Gabungan pangkalan data langsung tidak sesuai kerana Student
struktur data kelas.
Penyelesaian melibatkan menambah respons JSON pelayan untuk memasukkan maklumat pemetaan yang diperlukan. Kami memperkenalkan sifat colModelOptions
untuk mengkonfigurasi lajur CITY
secara dinamik:
<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>
Respons JSON ini menyediakan Jqgrid dengan data yang diperlukan untuk memaparkan nama bandar. Sifat editoptions.value
mentakrifkan pemetaan antara ID dan nama.
Pengendali acara beforeProcessing
Jqgrid menggunakan pilihan lajur ini secara dinamik:
<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>
Kod ini berulang melalui colModelOptions
, mengemas kini sifat lajur CITY
dalam Jqgrid. Konfigurasi dinamik ini memastikan bahawa nama bandar dipaparkan dan bukannya ID, menghasilkan grid yang lebih mesra pengguna dan intuitif. Kaedah ini mengurus perhubungan data tidak langsung dengan berkesan tanpa mengubah struktur pangkalan data atau menggunakan carian sisi klien yang tidak cekap.
Atas ialah kandungan terperinci Bagaimana untuk Memaparkan Nama Bandar Daripada ID dalam Jqgrid Menggunakan Sambungan Sisi Pelayan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!