Yii 1.1: bcoregrid

Grid shows data and apply multiple actions on rows!!
1 follower

Now, each time growing up! release the vs. 0.3 of marvelous grid!! fast and easy configuration, you never waste time writing tables! it's support multiactions on grid selecting with checkbox, it will continue growing!!

Resources

Documentation

Requirements

  • Yii 1.0 or above

Installation

  • Extract the release file under protected/extensions
  • Copy files in "images" to your images folder.
  • See http://www.booleancore.com/bcoregrid/index.php for more explained documentation.

Usage

  • models: link with the data model ( CActiveRecord)
  • pages: link with the pagination of your data ( CPagination)
  • sort: order of your data ( CSort).
  • row_active: permit to do clic in any place of row and invoke a action.
  • row_controller: name of controller invoked doing clic in row or in actions.
  • row_actionclick: name of action invoked doing clic in row ( if row_active is true).
  • row_owner: name of field that identify the value shows in delete message.
  • css: class name of grid style ( bcgrid by default).
  • row_even: class name of row style ( bcgrid_even by default).
  • row_odd: class name of row style ( bcgrid_odd by default).
  • row_over: class name of style when mouse is over of row( bcgrid_over by default).
  • attributes: set of grid columns:

    • name: name of data field.
    • title: value shows in grid column header.
    • align: align of value in cell ( left by default ).
    • css: style apply to some cell ( optional ).
    • width: column width.
    • type: for special columns, you can choose: delete, update, publish and show.
    • field_pub: if you choose publish type, in this parameter you must enter the name of field represents publish state ( 1 or 0 ).
$this->widget('application.extensions.bcoregrid.BCoreGridWidget',
    array( 'models'=>$models,
           'pages'=>$pages,
           'sort'=>$sort,
           'row_controller'=>'usuarios',
           'row_active'=>true,
           'row_actionclick'=>'update',
           'row_owner'=>'usuario',
           'attributes'=>array(
              array(
               'type'=>'update',
               'title'=>'U',
               'width'=>'30px',
               ),
              array(
               'type'=>'delete',
               'title'=>'D',
               'width'=>'30px',
               ),
              array(
               'type'=>'show',
               'title'=>'D',
               'width'=>'30px',
               ),
              array(
               'type'=>'publish',
               'field_pub'=>'publish',
               'title'=>'P',
               'width'=>'30px',
               ),
              array(
               'name'=>'user',
               'title'=>'User',
               'width'=>'180px',
                       'align'=>'center',
               ),
              array(
               'name'=>'name',
               'title'=>'Name',
                       'width'=>'250px',
                       'css'=>'light',
                ),
              array(
               'name'=>'lastname',
               'title'=>'Last Name',
               'width'=>'350px',
                ),
           )    
         )
    );

Change Log

July 31, 2009

  • Initial release.

Agosto 03, 2009

  • release 0.2.

Agosto 08, 2009

  • release 0.3.

Total 8 comments

#727 report it
neel at 2010/03/10 03:37pm
Can you help me

I got this error

Fatal error: Call to a member function link() on a non-object in protected/extensions/bcoregrid/views/list.php on line 10

><?php echo $sort->link($attributes[$a]['name'],utf8_encode($attributes[$a]['title']));?> <?php } ?>
#738 report it
neel at 2010/03/08 08:07pm
Is this bug or error?

PHP Error Description

Undefined index: name Source File /protected/extensions/bcoregrid/views/list.php(10)

00001: <?php echo CHtml::beginForm('','POST',array('name'=>$idgrid,'id'=>$idgrid)); 00002: $css_main=$css; 00003: ?> 00004:

<

table class="<?php echo $css; ?>"> 00005:

00006: <?php if($isMultiple) { ?><?php echo CHtml::hiddenField($idgrid."chk_true",0).CHtml::checkBox("multi", false); ?><?php } ?> 00007: <?php for($a=0;$a 00010: ><?php echo $sort->link($attributes[$a]['name'],utf8_encode($attributes[$a]['title']));?> 00011: <?php } ?> 00012: 00013: <?php 00014: $totalreg =0; 00015: foreach($models as $n=>$model): 00016: $totalreg++; 00017: ?> 00018: 00019: <?php if($isMultiple) { ?> <?php echo CHtml::checkBox("cid[]", false, array ("id"=>"reg".$idgrid.$totalreg,"value"=>$model->$id)); ?><?php }?> 00020: <?php for($a=0;$a<count($attributes);$a++) { 00021: $align="left"; $css=''; $width=''; $click=""; 00022: $data=($attributes[$a]['name']!='')?$model->$attributes[$a]['name']:"";
#740 report it
neel at 2010/03/08 02:23pm
Error

I am trying to use your tools but got this error name method not found

><?php echo $sort->link($attributes[$a]['name'],utf8_encode($attributes[$a]['title']));?>
#1003 report it
mariano2009 at 2010/01/12 07:39am
what do you need

tell me what don't understand and i'll try to help you. Actually, i'm working in the new version, the grid will run under json and new features...

#1009 report it
neel at 2010/01/11 10:26am
Document

Can you please update your document? It will really help me if you do that.

#1020 report it
neel at 2010/01/07 09:51pm
Need Help

Hey, I want to use your tool. But not working. Can you plz update your document?

#1413 report it
mariano2009 at 2009/08/07 11:01pm
Thanks alex!!

thanks, your opinion is important, i'm making the changes! :)

#1414 report it
Alex Jay at 2009/08/07 08:29pm
what about jQuery?

The part of HTML code, generated by the widget (from your demo):

&lt;tr class="bcgrid_odd"
onmouseover="this.className='bcgrid_over'"
onmouseout="this.className='bcgrid_odd'">
&lt;td align="center">
&lt;input id="regbcoregrid1" value="63"
onclick="isActive(this.checked);" name="cid[]" type="checkbox">
...

old school JS code ;)

maybe better to use jquery here?

onclick="isActive(this.checked);"

what if grid contains 100 (or more) rows?

for a simple tasks like "to highlight row" etc - better to use CSS

Leave a comment

Please to leave your comment.

Create extension