当前位置: 首页 > 知识库问答 >
问题:

yii引导程序小部件TbButtonColumn小部件TbButtonGroup

汪深
2023-03-14

面对这样的问题:

表由bootstrap(来自yii booster)的小部件TbGridView形成。在TBButton列中,我形成“编辑/删除等”

但是我想用一个按钮来处理拆分下拉列表的效果http://yii-booster.clevertech.biz/components.html#buttonDropdowns

$this->widget('bootstrap.widgets.TbGridView', array(
    'id'=>'customer-grid',
    'type'=>'striped bordered condensed',
    'dataProvider'=>$model->search(),
    'filter'=>$model,
    'columns'=>array(
        'surname',
        'name',
        'middlename',
        'dateOfBirth',
        array(
            'class'=>'bootstrap.widgets.TbButtonColumn',
            'template'=>'{add} {list} {update} {print_act}',
            'buttons'=>array
            (
                'add' => array
                (
                    'label'=>'Назначить прием',
                    'icon'=>'plus',
                    'url'=>'Yii::app()->createUrl("reception/create", array("id"=>$data->id))',
                    'options'=>array(
                        'class'=>'btn btn-small',
                    ),
                ),
                'list' => array
                (
                    'label'=>'Список предоставленных услуг',
                    'icon'=>'list white',
                    'url'=>'Yii::app()->createUrl("patient/update", array("id"=>$data->id))',
                    'options'=>array(
                        'class'=>'btn btn-small btn-info',
                    ),
                ),
                'update' => array
                (
                    'label'=>'Изменить данные Пациента',
                    'icon'=>'pencil white',
                    'url'=>'Yii::app()->createUrl("customer/update", array("id"=>$data->id))',
                    'options'=>array(
                        'class'=>'btn btn-small btn-success',
                    ),
                ),
                'print_act' => array
                (
                    'label'=>'Печать акта выполненных работ',
                    'icon'=>'print',
                    'url'=>'Yii::app()->createUrl("customer/printAct", array("id"=>$data->id))',
                    'options'=>array(
                        'class'=>'btn btn-small',
                    ),
                ),
            ),
            'htmlOptions'=>array(
                'style'=>'width: 220px',
            ),
        ) 
    ),
));

共有2个答案

唐渊
2023-03-14

我将通过添加另一列来实现这一点。TbColumnButton和TbButtonGroup都是小部件。您可以按添加按钮组

...
array(
    'class'=>'bootstrap.widgets.TbButtonColumn',
),
array(
    'class'=>'bootstrap.widgets.TbButtonGroup',
    ...
),
宋飞文
2023-03-14

我总是发现,当我需要渲染网格视图中的复杂元素(尤其是小部件)时,如果你从控制器调用函数会更容易。例如,gridview的列定义如下:

'columns'=>array(
    'surname',
    'name',
    'middlename',
    'dateOfBirth'
    ...
    array(
        'name'=>'fieldName',
        //call the function 'renderButtons' from the current controller
        'value'=>array($this,'renderButtons'),
    ),
 )

然后在你的行动中会出现这样的情况。这只是呈现Yii booster示例页面中的示例小部件http://yii-booster.clevertech.biz/components.html#buttonDropdowns:

编辑:这也很有用,因为回调函数renderButtons()接受两个参数:$data和$row。您可以使用$data从gridview的数据提供程序访问数据,以便动态呈现小部件。

public function renderButtons($data, $row) {
   $this->widget('bootstrap.widgets.TbButtonGroup', array(
      'size'=>'large',
      'type'=>'inverse', // '', 'primary', 'info', 'success', 'warning', 'danger' or 'inverse'
      'buttons'=>array(
         array('label'=>'Inverse', 'items'=>array(
            array('label'=>'Action', 'url'=>'#'),
            array('label'=>'Another action', 'url'=>'#'),
            array('label'=>'Something else', 'url'=>'#'),
            '---',
            array('label'=>'Separate link', 'url'=>'#'),
        )),
      ),
   ));
}
 类似资料:
  • 我试图创建一个下拉使用在我的Web应用程序。以下是我正在做的事情: 但下拉列表似乎如下所示: 有一个空和空。我想把它去掉。有什么帮助吗?

  • 5.10.2.应用程序小部件 但是谁会关心我们的数据呢?当然有,比如小部件(App Widget),也就是挂在主屏幕上显示天气之类的小东西。我们将在这里新建一个小部件,通过Content Provider读取最新消息并显示在主屏幕上。

  • 小部件是在视图中使用的可重用单元, 使用面向对象方式创建复杂和可配置用户界面单元。 例如,日期选择器小部件可生成一个精致的允许用户选择日期的日期选择器, 你只需要在视图中插入如下代码: <?php use yii\jui\DatePicker; ?> <?= DatePicker::widget(['name' => 'date']) ?> Yii提供许多优秀的小部件,比如 active for

  • PHP解析错误:语法错误,第14行的/dev/shm/untitled.PHP中出现意外“') 我真的找不到错误,看了100遍。需要实现这个小部件,谢谢! 有4个左括号和4个右括号。逗号没问题,所以?

  • jQuery UI小部件是一个专门的jQuery插件。使用插件,我们可以将行为应用于元素。 但是,插件缺少一些内置功能,例如将数据与其元素相关联的方法,公开方法,使用默认值合并选项以及控制插件的生命周期。 Sr.No. 小部件和描述 1 Accordion 启用以折叠内容,该内容分为逻辑部分。 2 Autocomplete 在键入字段时启用以提供建议。 3 Button Button是提交类型和锚

  • Angular Material提供了丰富的UI小部件库。 这允许用户与应用程序具有高级交互功能。 下表列出了几个重要的Widgets及其描述 - Sr.No 小部件和描述 1 Buttons md-button是Angular Directive,是一个带有可选墨水波纹的按钮指令(默认情况下启用)。 如果提供了href或ng-href属性,则此指令充当锚元素。 2 CheckBoxes md-c