2011-11-09 12 views
6

के साथ फ़ंक्शन का चयन करें मैं jqGrid का उपयोग कर रहा हूं, संपादन/जोड़ें फ़ंक्शन पर मैं इन क्षेत्रों में से किसी एक में ड्रॉप डाउन सूची चाहता हूं।jqGrid set parametrized क्वेरी

यह काम करता है अगर मैं इस रूप में setSelect समारोह का उपयोग करें:

$grid->setSelect("title", "SELECT DISTINCT name,name as TestingName FROM template", true, true, false, array(""=>"All")); 

मैं अपने प्रश्न के पैरामीटर पास कर सकते हैं?

1- "SELECT DISTINCT name,name as TestingName FROM template where tempid = ?"

2- "SELECT DISTINCT name,name as TestingName FROM template where tempid = $rowid"

ऊपर की

3- "SELECT DISTINCT name,name as TestingName FROM template where tempid = ". $rowid

कोई भी, जबकि होने से काम किया:

if(isset ($_REQUEST["tempid"])) 
    $rowid = jqGridUtils::Strip($_REQUEST["tempid"]); 
else 
    $rowid = ""; 
+0

मैं 'के बारे में कोई प्रलेखन नहीं मिल सकता है सारांश क्या आप कुछ और जानकारी प्रदान कर सकते हैं? –

+0

http://www.trirand.net/documentation/php/index.htm -> अनुभाग ट्यूटोरियल-> ड्रॉप डाउन – Grace

उत्तर

4

मैं अपने प्रश्न समझ में सही करते हैं मैं इन की कोशिश की आप editoptionsdataUrl के साथ उपयोग करते हैं। आप यूआरएल रखना चाहते हैं जिसमें अतिरिक्त पैरामीटर tempid है जो मान वर्तमान चयनित पंक्ति की पंक्ति होनी चाहिए।

आपके प्रश्न के वाक्यविन्यास से मुझे लगता है कि आप trirand.net से PHP उत्पाद के लिए कुछ वाणिज्यिक jqGrid का उपयोग करते हैं। मामले में आपको टैग [jqgrid-php] का उपयोग करना चाहिए। jqGrid शुद्ध जावास्क्रिप्ट ओपन सोर्स उत्पाद है। तो मैं जवाब देता हूं कि आप जावास्क्रिप्ट में dataUrl पैरामीटर कैसे जोड़ सकते हैं।

jqGrid ajaxSelectOptions विकल्प है जिसके किया जा सकता है कॉल जो dataUrl का उपयोग कीjQuery.ajax विकल्पों को संशोधित किया है। आप

var myGrid = $("#list"); 

myGrid.jqGrid({ 
    // all your current parameters of jqGrid and then the following 
    ajaxSelectOptions: { 
     data: { 
      tempid: function() { 
       return myGrid.jqGrid('getGridParam', 'selrow'); 
      } 
     } 
    } 
}); 

निम्नलिखित jQuery.ajax की data पैरामीटर एक संपत्ति विधि इसी jQuery.ajax कॉल की हर बार बुलाया जाएगा के बजाय एक विधि शामिल है तो कर सकते हैं। मैंने the answer में एक ही चाल का उपयोग किया। > SetSelect` jqgrid php वर्ग के http://www.trirand.com/blog/phpjqgrid/docs/jqGrid/jqGrid.html#sec-method- पर विधि -

+0

टेम्पिड मास्टर ग्रिड की प्राथमिक कुंजी है, मैं इसे विस्तार ग्रिड भेज रहा हूं, और मैं इसे प्राप्त कर सकता हूं विस्तार ग्रिड में tempid का मूल्य। मेरी समस्या यह है कि मुझे नहीं पता कि पैरामीटर – Grace

+0

@ ग्रेस के साथ क्वेरी पास करने के लिए setSelect फ़ंक्शन का उपयोग कैसे करें: मुझे कोई फर्क नहीं पड़ता। आप सिर्फ 'myMasterGrid.jqGrid (' GetGridParam ',' selrow ') कर सकते हैं;' विस्तार ग्रिड में। वैकल्पिक रूप से आप एक मास्टर (जैसे 'masterRowId') में मास्टर ग्रिड की वर्तमान चयनित पंक्ति की आईडी को सहेज सकते हैं। आप इसे मास्टर ग्रिड के 'ऑनलेक्लोरो' ईवेंट के अंदर कर सकते हैं। फिर आप 'tempid: function() {return masterRowId का उपयोग कर सकते हैं; } ' – Oleg

+0

@ ग्रेस: ​​शायद आप गलत जगह पर 'AJAXSelectOptions' का उपयोग करें। मैंने यह स्पष्ट करने के लिए थोड़ा सा जवाब दिया कि आपको अन्य jqGrid विकल्पों में 'AJAXSelectOptions' जोड़ना चाहिए जो आप उपयोग करते हैं। – Oleg