我想在文本框中显示gridview列的总和。页面加载时,总和应传递给文本框。 我在index.php文件中编写了以下javascript代码。但得不到总和。 javascript代码可能不正确。请让我知道怎么做 -
index.php -
<asp:LinkButton ID="GoButton" runat="server" Text="<div></div>" CssClass="Go" OnClick="GoButton_Click" OnClientClick="return disablebutton(this);" />
<script>
function disablebutton(btn) {
$(btn).attr("disabled", "disabled");
return true; }
</script>
答案 0 :(得分:2)
可以将showFooter用于gridView
您可以使用dataProvider计算值
$yourTotal =0;
$numRow = 0;
foreach ($dataProvider->models as $key => $value) {
$yourTotal += $value['your_attribute'];
$numRow++;
}
然后在GridView中你可以设置showFooter =&gt; TRUE,在您需要的列中,您可以添加页脚(最终是footerOptions)
echo GridView::widget([
'dataProvider' => $dataProvider,
......
'showFooter'=>TRUE,
.....
'columns' => [
['class' => 'yii\grid\SerialColumn'],
......
[ 'attribute' => 'your_attribute',
'label' => 'Your Lable',
'footer' => $yourTotal,
'footerOptions' => ['style' => 'text-align:right;'],
],
........
您可以使用input
为您添加文字<?= Html::textInput('your_name', $yourTotal , options[]); ?>
或者你可以添加一个简单的div
<div id='my_id'> <?= $yourTotal ?> </div>