如何在 Gridview Yii2 的条码生成器中传递 "elementId"?
How to pass "elementId" in barcode generator in Gridview Yii2?
我经历过这个:
- http://www.yiiframework.com/extension/yii-barcode-generator-8-types/
- https://github.com/Vilochane/Yii-Barcode-Generator
- http://www.yiiframework.com/extension/yii2-barcode-generator-8-types/
但没有成功。我的网格视图:
<?= GridView::widget([
'dataProvider' => new yii\data\ActiveDataProvider(['query' => $model->getLibBookMasters()]),
'summary' => '',
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'lbm_book_no',
[
'attribute' => 'lbm_barcode_no',
//'type' => 'raw',
'value'=> function($model){
return \barcode\barcode\BarcodeGenerator::widget(
[
'elementId' => 'lbm_barcode_no',
'value'=> 'lbm_barcode_no',
'type'=>'ean13',
]);},
],
],
]); ?>
我需要通过 elementId
来解决问题,但没有找到。
我刚安装条码生成器,不知道怎么玩。
您需要传递不同的 elementId
。由于您的代码当前是您正在传递文字 'lbm_barcode_no'
而不是模型的 lbm_barcode_no
属性的值。此外,您必须创建要显示条形码的 div
s 并将列的 format
设置为 raw
或 html
:
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'lbm_book_no',
[
'attribute' => 'lbm_barcode_no',
'format' => 'raw',
'value'=> function($model){
return yii\helpers\Html::tag('div', '', ['id' => 'barcode-'.$model->lbm_barcode_no]).
\barcode\barcode\BarcodeGenerator::widget([
'elementId' => 'barcode-'.$model->lbm_barcode_no,
'value'=> $model->lbm_barcode_no,
'type'=>'ean13',
]);
},
],
],
我在标签前加上 barcode-
以避免冲突(你永远不知道)。
我经历过这个:
- http://www.yiiframework.com/extension/yii-barcode-generator-8-types/
- https://github.com/Vilochane/Yii-Barcode-Generator
- http://www.yiiframework.com/extension/yii2-barcode-generator-8-types/
但没有成功。我的网格视图:
<?= GridView::widget([
'dataProvider' => new yii\data\ActiveDataProvider(['query' => $model->getLibBookMasters()]),
'summary' => '',
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'lbm_book_no',
[
'attribute' => 'lbm_barcode_no',
//'type' => 'raw',
'value'=> function($model){
return \barcode\barcode\BarcodeGenerator::widget(
[
'elementId' => 'lbm_barcode_no',
'value'=> 'lbm_barcode_no',
'type'=>'ean13',
]);},
],
],
]); ?>
我需要通过 elementId
来解决问题,但没有找到。
我刚安装条码生成器,不知道怎么玩。
您需要传递不同的 elementId
。由于您的代码当前是您正在传递文字 'lbm_barcode_no'
而不是模型的 lbm_barcode_no
属性的值。此外,您必须创建要显示条形码的 div
s 并将列的 format
设置为 raw
或 html
:
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'lbm_book_no',
[
'attribute' => 'lbm_barcode_no',
'format' => 'raw',
'value'=> function($model){
return yii\helpers\Html::tag('div', '', ['id' => 'barcode-'.$model->lbm_barcode_no]).
\barcode\barcode\BarcodeGenerator::widget([
'elementId' => 'barcode-'.$model->lbm_barcode_no,
'value'=> $model->lbm_barcode_no,
'type'=>'ean13',
]);
},
],
],
我在标签前加上 barcode-
以避免冲突(你永远不知道)。