我正在try 用千或(,)格式化我的dataTable.但是我没能做到,我看过论坛,我没能做到,我将与你分享我的代码.变量Venta是theq 我想在图表和dataTable中格式化data:sale.

<div class="">
    <figure class="highcharts-figure">
        <div id="container"></div>
    </figure>
</div>

<script src="https://code.highcharts.com/highcharts.js"></script>
<script src="https://code.highcharts.com/modules/export-data.js"></script>
<script src="https://code.highcharts.com/modules/exporting.js"></script>
<script src="https://code.highcharts.com/modules/accessibility.js"></script>
<script>
Highcharts.chart('container', {
     chart: {
         type: 'column'
     },
     title: {
         text: 'Ventas Mensuales',
         align: 'left',
         style: {
             fontSize: '16px' 
         }
     },
     xAxis: {
         categories: mes, // What returns mes is ['Enero', 'Febrero', 'Marzo', 'Abril', 'Mayo', 'Junio', 'Julio', 'Agosto', 'Septiembre','Octubre', 'Noviembre', 'Diciembre'];
         crosshair: true,
         accessibility: {
             description: 'Meses'
         }
     },
     yAxis: {
         min: 0,
         title: {
             text: 'Ventas Mensuales'
         }
     },
     tooltip: {
         valueSuffix: ' (COP)'
     },
     plotOptions: {
         column: {
             pointPadding: 0.2,
             borderWidth: 0,
             dataLabels: {
                 enabled: true,
                 formatter: function() {
                     return '$' + Highcharts.numberFormat(this.y, 0);
                 }
             }
         }
     },
     series: [{
         name: 'Ventas',
         data: venta // What returns is ['1356940858.000000', '1945419126.000000', '934706589.000000', '1803607453.000000', '78415027.000000'] 
         // data: valoresY
     }],
     data: {
         table: 'datatable'
     },
     exporting: {
         tableCaption: "Tabla de Ventas Mensualesss"
     }

 });
</script>```

Esperaba el valor del dataTable export formateado en miles 

推荐答案

您可以扩展export-data模块以对数据表中显示的值进行格式化,例如(see JSFiddle demonstration):

(function(H) {
  const Chart = H.Chart;
  H.wrap(Chart.prototype, 'getDataRows', function(proceed, multiLevelHeaders) {
    const result = proceed.apply(this, Array.prototype.slice.call(arguments, 1));

    for (const x of result) {
      console.log(x, x.length)
      for (let i = 1; i < x.length; i++) {
        if (typeof x[i] === 'number') {
          x[i] = "$" + H.numberFormat(x[i], 0)
        }
      }
    }
}(Highcharts));

Highcharts.chart('container', {
  series: [{
    data: [100000, 200000, 300000, 400000, 500000, 600000, 700000, 800000, 900000, 1000000]
  }],
});

这里需要注意的是,它打破了按该列进行的排序,因为它不再比较数字,而是比较字符串.解决此问题的简单方法是使用allowTableSorting(API)禁用排序.一种复杂的变化是仅禁用按序列值排序,这是另一个扩展,例如(包含在上面的JSFdle中):

(function(H) {
  H.addEvent(Chart, 'afterViewData', function() {
    const div = this.dataTableDiv
    const row = div.querySelector('thead tr');
    if (row) {
      for (let x = 1; x < row.childNodes.length; x++) {
        const th = row.childNodes[x]
        const table = th.closest('table');
        th.addEventListener('click', function(e) {
          e.stopImmediatePropagation();
        });
      }
    }
  }, {
    order: -1
  });
}(Highcharts));

Javascript相关问答推荐

我可以使用querySelectorAll获取单元格索引吗?

我无法使用tailwind-css和reactJS修改图像的位置

回归函数不会迭代到foreach中的下一个元素

导入图像与内联包含它们NextJS

Python类实现的JavaScript吊坠是什么样子的?

如何使用JavaScript向html元素添加样式

无法在page. evalve()内部使用外部函数

在卡信息之间切换

积分计算和 colored颜色 判断错误

如何获取转换字节的所有8位?

D3多线图显示1线而不是3线

提交表格后保留Web表格中的收件箱值?

Angular:动画不启动

cypress中e2e测试上的Click()事件在Switch Element Plus组件上使用时不起作用

根据一个条件,如何从处理过的数组中移除一项并将其移动到另一个数组?

当代码另有说明时,随机放置的圆圈有时会从画布上消失

与svg相反;S getPointAtLength(D)-我想要getLengthAtPoint(x,y)

从逗号和破折号分隔的给定字符串中查找所有有效的星期几

在验证和提交表单后使用useNavigate()进行react 重定向,使用带有加载器和操作的路由

与在编剧中具有动态价值的定位器交互