【发布时间】:2016-04-10 01:12:38
【问题描述】:
我是Yii2的新手,以前我用自制mvc-php + extjs 4.2
所以我现在在 Yii2 上工作,我开始掌握简单的 CRUD 的窍门,当我需要为父子表制作输入表单时,我的 pobrem 就开始了。 我有 3 张桌子
- 佣金
commission_id
佣金名称
佣金金额
佣金百分比 - commission_scheme
cscheme_id
cscheme_name
cscheme_amount
cscheme_percent
cscheme_bonus
cscheme_description - commission_scheme_detail
cscheme_detail_id
佣金_id
cscheme_id
报名表为commission_scheme和commission_scheme_detail。
- 我已经使用 gii 生成了所有的 crud
- 我修改_form.php,在活动表单后添加commission_scheme_detail的gridview
- 我还添加了包含来自佣金的选择网格的模式
这是 _form.php
gridview
<?php Pjax::begin(['id' => 'pjaxCschemedetail',
'timeout' => false,
'enablePushState' => false,
'clientOptions' => ['method' => 'POST']
]);
echo GridView::widget([
'id' => 'gridCschemedetail',
'dataProvider' => $detailData,
'columns' => [
['class' => 'yii\grid\SerialColumn'],
'CSCHEME_DETAIL_ID',
'CSCHEME_ID',
'COMMISSION_ID',
[
'class' => 'yii\grid\ActionColumn',
'buttons' => [
'update' => function ($url, $model) {
return Html::a('<span class="glyphicon glyphicon-pencil"></span>', Yii::$app->urlManager->createUrl(['commission-scheme-detail/view','id' => $model->CSCHEME_DETAIL_ID,'edit'=>'t']), [
'title' => Yii::t('yii', 'Edit'),
]);}
],
],
],
'responsive'=>true,
'hover'=>true,
'condensed'=>true,
'floatHeader'=>true,
'panel' => [
'type'=>'info',
'before'=>
'after'=>Html::a('<i class="glyphicon glyphicon-repeat"></i> Reset List', ['index'], ['class' => 'btn btn-info']),
Html::button('Add', [
'id' => 'addDetailButton',
'class' => 'glyphicon glyphicon-plus btn btn-success btn-ajax-modal',
'value' => Url::to('@web/commission/listselect'),
'data-target' => '#modal_cschemedetail',
]),
'showFooter'=>false
],
]); Pjax::end();
模态
Modal::begin([
'id' => 'modal_cschemedetail',
'header' => '<h4>Category</h4>',
]);
echo '<div id="modal-content"></div>';
echo Html::button('Add Selected', [
'id' => 'addCommissionsButton',
'class' => 'btn btn-success btn-ajax-modal'
]);
Modal::end();
?>
</div>
</div>
<div class="box-body">
</div>
</div>
选择网格
<?php Pjax::begin(); echo GridView::widget([
'id' => 'gridCommissionSelection',
'dataProvider' => $dataProvider,
'filterModel' => $searchModel,
'columns' => [
['class' => 'yii\grid\CheckboxColumn'],
['class' => 'yii\grid\SerialColumn'],
[
'attribute' => 'COMMISSION_ID',
'visible' => false
],
'COMMISSION_NAME',
[
'attribute' => 'TRANSACTION_TYPE_ID',
'value' => 'transactionTypeName'
],
'COMMISSION_DESC:ntext',
'COMMISSION_AMOUNT',
]
'responsive'=>true,
'hover'=>true,
'condensed'=>true,
'floatHeader'=>true,
]); Pjax::end(); ?>
是否可以将模式中的选定记录插入到详细的网格视图中,然后在用户单击创建按钮后,网格视图中的表单和插入的记录保存到相应的表中?
如何将选定的记录插入到gridview(而不是db表,它将在用户单击创建后完成)?
【问题讨论】:
-
请记住始终创建一个Minimal, Complete, and Verifiable example。尤其要记住 minimal 部分。
-
哦,对了,我会编辑的,对不起