【问题标题】:Grid view with columns from multiple tables but unable to display image in the gridview具有来自多个表的列的网格视图,但无法在网格视图中显示图像
【发布时间】:2014-01-17 10:57:24
【问题描述】:

无法在网格视图中显示图像,其中这个网格视图包含来自多个表的列..以下是我使用 EImageColumn 所做的......我不知道我错在哪里......任何人都可以请指导我

model2中的gridview

  tbl2 columns
 array('header'=>'Pimg', 'value'=>array(
        'class'=>'EImageColumn',
        'name' => 'pimg',   //name of column from tbl1 and model1
        'htmlOptions' => array('style' => 'width: 100px;'),

        )), 
   tbl3 columns

谁能指导我一下

如果我把上面的代码我得到这个错误

**call_user_func_array() expects parameter 1 to be a valid callback, array must have exactly two members**

【问题讨论】:

  • 尝试添加'type'=>'html',

标签: gridview yii yii-extensions


【解决方案1】:

class,namehtmlOptions 不应在 value 数组中,就像在 http://www.yiiframework.com/extension/image-column/ 中一样

array(
    'header'=>'Pimg', 
    'class'=>'EImageColumn',
    'name' => 'm1.pimg', //assuming the relation to model1 in model2 is named m1
    'htmlOptions' => array('style' => 'width: 100px;'),
    'value'=>'...',// if required
), 

【讨论】:

  • pimg 在模型 1(父)中,我想在模型 2(子)中的网格视图中显示它,我确实有关系,它从模型 1 中的模型 2 中提取文本数据,但不是来自model1 中的 model2 .... 我得到属性“Model1.pimg”未定义。当我放置您的代码时作为例外....这是真的,因为它的 model2 属性
  • 属性“model2.m1.pimg”未定义它的属性
  • 将m1替换为model2中model1的关系名。
  • 我将 m1 称为模型 2,这是我的错误我写的属性“model2.model1relationname.pimg”未定义其 trowing
  • wrked :) 在我更改了 renderDataCellContent 函数,以支持具有关系的名称,例如 'name'=>'Post.Author' //$image = CHtml::image($this-> pathPrefix . $data->{$this->name} . $this->pathSuffix, $image = CHtml::image($this->pathPrefix . CHtml::value($data,$this->name) . $ this->pathSuffix,
猜你喜欢
  • 1970-01-01
  • 2020-03-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多