5.1### 5. 传入看板参数

在打开看板页面时,为页面URL添加的参数,将会被写入看板对象渲染上下文内, 看板页面可以使用renderContextAttr()获取这些传入参数。

例如,使用如下URL打开看板:

  1. /analysis/dashboard/show/[看板ID]/?param0=aaa&param1=bbb&param1=ccc

以下方式可得到上述参数值:

  1. $(document).ready(function()
  2. {
  3. var p0 = dashboard.renderContextAttr("param0"); // "aaa"
  4. var p1 = dashboard.renderContextAttr("param1"); // ["bbb", "ccc"]
  5. });

下面的示例看板接受一个map名称的传入参数,并使用它设置地图图表的地图名称:

  1. <html>
  2. <head>
  3. ...
  4. <script type="text/javascript">
  5. var myChartListener =
  6. {
  7. onRender: function(chart)
  8. {
  9. var map = (dashboard.renderContextAttr("map") || "beijing" );
  10. chart.map(map);
  11. }
  12. };
  13. </script>
  14. </head>
  15. <body>
  16. <div dg-chart-listener="myChartListener" dg-chart-widget="[地图图表部件ID]"></div>
  17. </body>
  18. </html>

上述看板的打开URL则可传入参数如:

  1. 打开上海地图图表:
  2. /analysis/dashboard/show/[看板ID]/?map=shanghai
  3. 打开重庆地图图表:
  4. /analysis/dashboard/show/[看板ID]/?map=chongqing

下面的示例看板接受一个name名称的传入参数,并使用它设置图表参数化数据集的参数值:

  1. <html>
  2. <head>
  3. ...
  4. <script type="text/javascript">
  5. var myChartListener =
  6. {
  7. onRender: function(chart)
  8. {
  9. var name = (dashboard.renderContextAttr("name") || "beijing" );
  10. chart.dataSetParamValue(0, "sqlParam", name);
  11. }
  12. };
  13. </script>
  14. </head>
  15. <body>
  16. <div dg-chart-listener="myChartListener" dg-chart-widget="[图表部件ID]"></div>
  17. </body>
  18. </html>

上述看板的打开URL则可传入参数如:

  1. /analysis/dashboard/show/[看板ID]/?name=shanghai
  2. /analysis/dashboard/show/[看板ID]/?name=chongqing