Skip to content

Configure your Vue 3 data grid with different number formats, depending on the specified language and culture.

Example

The following example shows a Handsontable instance with translations set up in Vue 3.

Find out which Vue 3 versions are supported

JavaScript
import { defineComponent } from 'vue';
import { HotTable, HotColumn } from '@handsontable/vue3';
import numbro from 'numbro';
import jaJP from 'numbro/languages/ja-JP';
import trTR from 'numbro/languages/tr-TR';
import { registerAllModules } from 'handsontable/registry';
// register Handsontable's modules
registerAllModules();
// register the languages you need
numbro.registerLanguage(jaJP);
numbro.registerLanguage(trTR);
const ExampleComponent = defineComponent({
data() {
return {
formatJP: {
pattern: '0,0.00 $',
culture: 'ja-JP',
},
formatTR: {
pattern: '0,0.00 $',
culture: 'tr-TR',
},
hotData: [
{
productName: 'Product A',
JP_price: 1.32,
TR_price: 100.56,
},
{
productName: 'Product B',
JP_price: 2.22,
TR_price: 453.5,
},
{
productName: 'Product C',
JP_price: 3.1,
TR_price: 678.1,
},
],
settings: {
height: 'auto',
autoWrapRow: true,
autoWrapCol: true,
licenseKey: 'non-commercial-and-evaluation'
}
};
},
components: {
HotTable,
HotColumn,
}
});
export default ExampleComponent;
HTML
<div id="example1">
<hot-table :data="hotData" :settings="settings">
<hot-column
title="Product name"
data="productName"
width="120"
read-only="true"
></hot-column>
<hot-column
title="Price in Japan"
type="numeric"
:numeric-format="formatJP"
data="JP_price"
width="120"
></hot-column>
<hot-column
title="Price in Turkey"
data="TR_price"
type="numeric"
:numeric-format="formatTR"
width="120"
></hot-column>
</hot-table>
</div>

Related guides

Configuration options

Core methods

Hooks