【问题标题】:how select and get the row id of Cgridvew of yii如何选择并获取yii的Cgridvew的行ID
【发布时间】:2013-08-19 12:07:32
【问题描述】:

过去 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>

【问题讨论】:

  • 抱歉,这不是一个正确的答案,但也许您只是在寻找this

标签: php yii cgridview


【解决方案1】:

您应该将id 属性添加到您的CGridView 配置中:

'id' => 'station-grid',

然后在您的 javascript 代码中的任何位置,您都可以通过以下方式获取当前选定的行:

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

例如,您可以在网格的每个 tr 上的 click 处理程序中使用上述内容。如何将它集成到您​​的 javascript 中取决于您。

【讨论】:

    【解决方案2】:

    对于所有选中的行 ID,我们使用它

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

    如果点击行比我们可以得到这样的id

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

    【讨论】:

      猜你喜欢
      • 2014-05-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-03-04
      • 2019-04-11
      • 2014-05-20
      • 2016-03-23
      • 1970-01-01
      相关资源
      最近更新 更多