php - कैसे चुनें और yii के Cgridvew की पंक्ति आईडी प्राप्त करें




cgridview (2)

मैं पिछले 10 दिनों से yii ढांचे पर काम कर रहा हूं। मैंने अपनी प्रोजेक्ट में बहुत कुछ किया, लेकिन मैं एक मुद्दे के साथ फंस गया। निम्नलिखित तालिका में जब मैं किसी भी पंक्ति पर क्लिक करता हूं, तो उसे jquery डायलॉग में चयनित पंक्ति का डेटा मिलना चाहिए और इसे खोला जाना चाहिए जब टेबल टूलबार पर संपादित करें बटन पर क्लिक किया जाता है।

उदाहरण के तौर पर जब मैं उपयोगकर्ता को सूचीबद्ध पंक्तियों में किसी भी पंक्ति पर क्लिक करता हूं तो यह हाइलाइट होता है और यदि संपादन बटन क्लिक किया जाता है तो उसे चयनित पंक्ति डेटा के साथ संवाद प्रपत्र खोलना चाहिए यहाँ मेरा कोड है .....

      <table class="display" id="dt3">
        <ul class="table-toolbar">
            <li><a href="#" id="create-user"><img src="<?php echo Yii::app()->request->baseUrl; ?>/images/icons/basic/plus.png" alt="" /> Add</a></li>
            <li><a href="#"><img src="<?php echo Yii::app()->request->baseUrl; ?>/images/icons/basic/delete.png" alt="" /> Delete</a></li>
            <li><a href="#" id="create-user2"><img src="<?php echo Yii::app()->request->baseUrl; ?>/images/icons/basic/edit.png" alt="" /> Edit</a></li>
          </ul>
          <ul>
      <table class="display" id="dt4">

          <tr>
        <?php
            $dataProvider=new CActiveDataProvider('Station');
            $this->widget('zii.widgets.grid.CGridView', array
           ( 
                    'dataProvider'=>$dataProvider,
                    'itemsCssClass'=>'display',
                    'summaryText'=>'',                   
                    'rowCssClass'=>array('odd gradeX','even gradeC'),
                    'htmlOptions'=>array('class'=>'display'),
                    'columns'=>array(

                        array
                        (   
                            'name'=>'Station Name',       
                            'value'=>'$data->Station_Name',
                        ),

                         array
                        (   
                            'name'=>'Status ',        
                            'value'=>'$data->Status_value',
                        ),

                        array
                        (            
                            'name'=>'Description ',
                            'value'=>'$data->Station_Description',
                        ),
                        array
                        (            
                            'name'=>'Order ID ',
                            'value'=>'$data->OrderID',
                        ),
                        array
                        (            
                            'name'=>'Updated By ',
                            'value'=>'$data->Updated_by',
                        ),
                    ),

                )

                    ); ?>       
     </tr>   
      </table>
          </ul>
        </table>




  <div id="dialog-form" title="Add/Edit Station" class="box-content" style="height: 100px">
       <form action="index.php?r=setting/stations" method="POST">     

      <div class="form-row">
        <label class="form-label">Station Name</label>
        <div class="form-item">
          <input type="text" name="station_name" />
         </div>
      </div>

      <div class="form-row">
        <label class="form-label">Description</label>
        <div class="form-item">
          <input type="text" name="station_description"/>
         </div>
      </div>

       <div class="form-row">
        <label class="form-label">Order Id</label>
        <div class="form-item">
          <input type="text"name="order_Id" />
         </div>
      </div>

       <div class="form-row">
        <label class="form-label">Updated By</label>
        <div class="form-item">
          <input type="text" name="updated_by" />
         </div>
      </div>

     <ul style="float:right;">
         <li style="float:right;"><a href="#"><input type="submit" class="button small green" value="Add  Station"></a></li>
        </ul>

       </form>
        </div>

आपको अपने CGridView कॉन्फ़िगरेशन में एक id प्रॉपर्टी जोड़नी चाहिए:

'id' => 'station-grid',

फिर अपने जावास्क्रिप्ट कोड के किसी भी बिंदु पर आप वर्तमान में चयनित पंक्तियों को निम्न से प्राप्त कर सकते हैं:

var selected = $('#station-grid').yiiGridView('getSelection');

उदाहरण के लिए, आप अपने ग्रिड के प्रत्येक ट्रे पर click हेन्डलर में उपर्युक्त इस्तेमाल कर click । यह आपके लिए है, यह कैसे अपने जावास्क्रिप्ट में एकीकृत करने के लिए


सभी चेक किए गए पंक्ति आईडी के लिए हम इसका उपयोग करते हैं

 var id = $.fn.yiiGridView.getChecked("your-grid-id", "selectedIds"); // array of seleted id's from grid

अगर हम इस तरह आईडी प्राप्त कर सकते हैं तो पंक्ति पर क्लिक करें

var id = $.fn.yiiGridView.getSelection(grid_id);
var id = id[0];




cgridview