2012-09-27 6 views
6

मैं CGridView के AJAXUrl param का उपयोग करने की कोशिश कर रहा हूं और इसका कोई प्रभाव नहीं पड़ रहा है।मैं वाईआई में CGridView के AJAXUrl पैरामीटर का उपयोग कैसे करूं?

$this->widget('zii.widgets.grid.CGridView', array(
    'id'=>'ge-cg-'.$myLib['id'], 
    'filter'=>$geCGModel, 
    'dataProvider'=>$dataProvider, 
    'columns'=>$columns, 
    'ajaxUrl'=>Yii::app()->createUrl('Something/search'), 
)); 

यह CGridView विजेट के ajax यूआरएल अधिभावी जा करने के लिए प्रतीत नहीं होता। ग्रिड का AJAX अनुरोध अभी भी नियंत्रक के पास जा रहा है जो इसे प्रस्तुत करता है (जो ग्रिड के स्वयं नियंत्रक से अलग है)।

धन्यवाद!

उत्तर

10

ajaxUrl संपत्ति "प्रति कॉलम फ़िल्टर" और "उन्नत खोज" दोनों ही खोजों के लिए ही काम करती है। सॉर्ट लिंक और पेजिनेशन लिंक $dataProvider से उत्पन्न होते हैं जो आप निर्दिष्ट करते हैं। आप क्रमशः डेटाप्रोवाइडर से निकाले गए pagination और sorting को निकालने के लिए CGridView और CDataColumn के स्रोत की जांच कर सकते हैं।

इसलिए आप उन लिंक्स भी एक ही ajaxUrl उपयोग करने के लिए है कि आप निर्दिष्ट करना चाहते हैं चाहते हैं, तो आप दोनों CPagination वस्तु, और $dataProvider की CSort वस्तु के लिए route गुण सेट करने के लिए है, कुछ हद तक इस तरह:

$dataProvider=new CActiveDataProvider('Modelname',array(
    'criteria'=>$criteria, 
    'pagination'=>array(
     'route'=>'something/search' 
    ), 
    'sort'=>array(
     'route'=>'something/search' 
    ) 
)); 

यह आपके वर्तमान CGridView सेटिंग्स के साथ संयुक्त होने की अपेक्षा के अनुसार काम करना चाहिए।

+0

मुझे उम्मीद है कि मैं आपको सही तरीके से मिला हूं, लेकिन फिर से अपना यूआरएल देख रहा हूं, ऐसा लगता है कि आप उस अजाक्सुरल (केवल पेजिंग और सॉर्ट नहीं) के साथ काम करना चाहते हैं। खोज में जवाब में किए गए परिवर्तन किए बिना खोज करना चाहिए, इसलिए यदि आपकी खोज काम नहीं कर रही है तो मुझे बताएं। –

+1

उत्कृष्ट। धन्यवाद। मैं एक द्वितीयक AJAX अनुरोध करके इसे चारों ओर काम करना समाप्त कर दिया जो सब कुछ सही यूआरएल में डिफ़ॉल्ट कर दिया, लेकिन यह भविष्य में उपयोगी होना चाहिए। – glyph

+0

मदद करने में खुशी हुई, लेकिन मैं सिर्फ उत्सुक हूं, क्या आपकी खोज उस AJAXUrl के साथ काम कर रही थी? यदि नहीं, तो क्या आप मुझे बता सकते हैं कि क्या वह ग्रिडव्यू (कॉलम से कम) के लिए आपकी संपूर्ण कॉन्फ़िगरेशन थी? या आपके पास कुछ अन्य गुण भी परिभाषित किए गए थे? मुझे अपने वाईआई संस्करण भी बताएं। –

संबंधित मुद्दे