title: How can I make a Editable gridView in yii-booster bootstrap widget with one of its column
body: <p>I'm new to this. I want to make grid under grid structure so i used the Yii-booster Extensions but its not working</p>
  
  <p><strong>My code:</strong></p>
  
  <pre><code>Extensions:
      protected/extensions/booster
  </code></pre>
  
  <p>MY Module</p>
  
  <pre><code>   protected/modules/delivery/controllers
  </code></pre>
  
  <p>DefaultController.php</p>
  
  <pre><code>public function actionIndex()
      {
          $dataProvider = new models\db\DNote(); 
          $columns = $dataProvider-&gt;getColumnsDelivery();
          $this-&gt;render('index',array('dataProvider'=&gt;$dataProvider,'columns'=&gt;$columns));
      }
  public function actionRelational()
  {
      Yii::app()-&gt;clientScript-&gt;scriptMap['jquery.js'] = false;
       Yii::app()-&gt;clientScript-&gt;scriptMap['jquery.min.js'] = false;
      $dataProvider = new models\db\DNoteLine();
      $this-&gt;renderPartial('_relational', array(
          'gridDataProvider' =&gt; $dataProvider
      ), false, true);
  }
  </code></pre>
  
  <p>index.php</p>
  
  <pre><code>&lt;?php
  
              $this-&gt;widget('ext.booster.widgets.TbExtendedGridView', array(
              //'filter'=&gt;$dataProvider,
              'type'=&gt;'striped bordered',
              'id'=&gt;'DeliveryNote-grid', 
              'dataProvider' =&gt; $dataProvider-&gt;search(),
              'template' =&gt; "{items}",
              'columns' =&gt; array_merge(array(
              array(
                  'class'=&gt;'application.extensions.booster.widgets.TbRelationalColumn',
                  'name' =&gt; 'Edit',
                  'url' =&gt; $this-&gt;createUrl('default/relational'),
                  'value'=&gt; '"test-subgrid"',
                  'afterAjaxUpdate' =&gt; 'js:function(tr,rowid,data){
                      bootbox.alert("I have afterAjax events too!
                      This will only happen once for row with id: "+rowid);
                  }'
                  )
              ),$columns),
              ));
  ?&gt;
  </code></pre>
  
  <p>_relational.php</p>
  
  <pre><code>&lt;?php $this-&gt;widget('application.extensions.booster.widgets.TbExtendedGridView', array(
              //'filter'=&gt;$DataProvider,
              'type'=&gt;'striped bordered',
              'id'=&gt;'Deliverysample-grid', 
              'dataProvider' =&gt; $dataProvider-&gt;search(),
              'template' =&gt; "{items}",
              'columns' =&gt; $columns,          
              ));
  ?&gt;
  </code></pre>
  
  <p>TbRelationalcolumn.php</p>
  
  <pre><code>public function registerClientScript() {
  
          $booster= Booster::getBooster();
              $booster-&gt;registerAssetCss('bootstrap-relational.css');
  
          /** @var $cs CClientScript */
          $cs = Yii::app()-&gt;getClientScript();
          if ($this-&gt;afterAjaxUpdate !== null) {
              if ((!$this-&gt;afterAjaxUpdate instanceof CJavaScriptExpression)
                  &amp;&amp; (strpos($this-&gt;afterAjaxUpdate,'js:') !== 0)
              ) {
                  $this-&gt;afterAjaxUpdate = new CJavaScriptExpression($this-&gt;afterAjaxUpdate);
              }
          } else {
              $this-&gt;afterAjaxUpdate = 'js:$.noop';
          }
  
          $this-&gt;ajaxErrorMessage = CHtml::encode($this-&gt;ajaxErrorMessage);
          $afterAjaxUpdate = CJavaScript::encode($this-&gt;afterAjaxUpdate);
          $span = count($this-&gt;grid-&gt;columns);
  
          //$loadingPic = CHtml::image($booster-&gt;getAssetsUrl() . '/img/loading.gif');
          $loadingPic = CHtml::image( '../img/loading.gif');
          $cache = $this-&gt;cacheData ? 'true' : 'false';
          $data = !empty($this-&gt;submitData) &amp;&amp; is_array($this-&gt;submitData) ? $this-&gt;submitData : 'js:{}';
          $data = CJavascript::encode($data);
          list($parentId) = explode('_',$this-&gt;id);
          //die ($parentId + $this-&gt;cssClass);
          $js = &lt;&lt;&lt;EOD
  $(document).on('click','#{$parentId} .{$this-&gt;cssClass}', function(){
          alert ($parentId + $this-&gt;cssClass); 
      var span = $span;
      var that = $(this);
      var status = that.data('status');
      var rowid = that.data('rowid');
      var tr = $('#relatedinfo'+rowid);
      var parent = that.parents('tr').eq(0);
      var afterAjaxUpdate = {$afterAjaxUpdate};
  
      if (status &amp;&amp; status=='on'){return}
      that.data('status','on');
  
      if (tr.length &amp;&amp; !tr.is(':visible') &amp;&amp; {$cache})
      {
          tr.slideDown();
          that.data('status','off');
          return;
      }else if (tr.length &amp;&amp; tr.is(':visible'))
      {
          tr.slideUp();
          that.data('status','off');
          return;
      }
      if (tr.length)
      {
          tr.find('td').html('{$loadingPic}');
          if (!tr.is(':visible')){
              tr.slideDown();
          }
      }
      else
      {
          var td = $('&lt;td/&gt;').html('{$loadingPic}').attr({'colspan':$span});
          tr = $('&lt;tr/&gt;').prop({'id':'relatedinfo'+rowid}).append(td);
          /* we need to maintain zebra styles :) */
          var fake = $('&lt;tr class="hide"/&gt;').append($('&lt;td/&gt;').attr({'colspan':$span}));
          parent.after(tr);
          tr.after(fake);
      }
      var data = $.extend({$data}, {id:rowid});
      $.ajax({
          url: '{$this-&gt;url}',
          data: data,
          success: function(data){
              tr.find('td').html(data);
              that.data('status','off');
              if ($.isFunction(afterAjaxUpdate))
              {
                  afterAjaxUpdate(tr,rowid,data);
              }
          },
          error: function()
          {
              tr.find('td').html('{$this-&gt;ajaxErrorMessage}');
              that.data('status','off');
          }
      });
  });
  EOD;
          $cs-&gt;registerScript(__CLASS__ . '#' . $this-&gt;id, $js);
      }
  </code></pre>
  
  <p>Im getting the header grid . when im clicking on <strong>EDIT (test-subgrid)</strong> ,Nothing happens even i didn't get an alert message.
  Please anyone help to resolve this problem</p>