无法在我的索引页yii2中设置部分视图

问题描述 投票:2回答:1

我通过执行以下操作,尝试在index page处渲染局部视图以显示图表,当满足特定条件时。

Index.php

<?PHP
.
.
.
.
else if($type == "403")
{

    $columns = [
        ['class' => 'yii\grid\SerialColumn'],

        'Device_ID',
        'Customer_ID',
        'MSN',
        'kWh',
        'Data_Date_Time',


    ];
    $this->render('_kwhChart', [
        'dataProvider' => $dataProvider,
    ]) ;
}
.
.
.
.
?>
 <?=
GridView::widget([
    'dataProvider' => $dataProvider,
    //'filterModel' => $searchModel,
    'columns' => $columns
]);
?>

[当满足特定条件时,我可以看到更新的gridview值,但看不到局部视图,即图表。

全景视图

<?PHP
  $dataPointskWh = array();
  $model = $dataProvider->getModels();

  foreach ($model as $row)
  {
    // pushing for kwh values
    array_push($dataPointskWh, 
    array("label"=>$row['Data_Date_Time'],"y"=>$row['kWh']));
  }

  ?>
            <div id="chartContainer1" style="width: 100%; height: 300px;display: inline-block;"></div>

 <script>
   var chart1 = new CanvasJS.Chart("chartContainer1", {
     exportEnabled: true,
    animationEnabled: true,
     zoomEnabled: true,
     theme: "light1",
    title:{
        text: "Voltages"
    },
    legend:{
        cursor: "pointer",
        verticalAlign: "bottom",
        horizontalAlign: "center",
        itemclick: toggleDataSeries
    },
    data: [
        {
        type: "column",
            lineColor:"red",
            legendMarkerColor: "red",
        name: "kWh",
        indexLabel: "{y}",
        //yValueFormatString: "V1#0.##",
        showInLegend: true,
        dataPoints: <?php echo json_encode($dataPointskWh, JSON_NUMERIC_CHECK); ?>
    }
    ]

});
 chart1.render();


function toggleDataSeries(e){
    e.dataSeries.visible = !(typeof (e.dataSeries.visible) === "undefined" || e.dataSeries.visible);
    chart1.render();

}

注意:我使用的是提交按钮,每次单击提交按钮时,页面都会刷新。

我该如何实现?

任何帮助将不胜感激。

我正在尝试通过执行以下操作在索引页面上呈现部分视图,以在满足特定条件时显示图表。 Index.php

yii2 partial-views yii2-advanced-app canvasjs
1个回答
1
投票

您不渲染render()..您需要.. echo

© www.soinside.com 2019 - 2024. All rights reserved.