Column Dragging
By default, column dragging is disabled in Jspreadsheet. To enable it, use the columnDrag: true
option during initialization, as shown below:
Source code
<html>
<script src="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.js"></script>
<script src="https://jsuites.net/v5/jsuites.js"></script>
<link rel="stylesheet" href="https://jsuites.net/v5/jsuites.css" type="text/css" />
<link rel="stylesheet" href="https://bossanova.uk/jspreadsheet/v5/jspreadsheet.css" type="text/css" />
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Material+Icons" />
<div id="spreadsheet"></div>
<script>
jspreadsheet(document.getElementById('spreadsheet'), {
worksheets: [{
data: [
['BR', 'Cheese', 1],
['CA', 'Apples', 0],
['US', 'Carrots', 1],
['GB', 'Oranges', 0],
],
columns: [
{
type: 'autocomplete',
title: 'Country',
width: '300',
url: '/jspreadsheet/countries.json'
},
{
type: 'dropdown',
title: 'Food',
width: '150',
source: ['Apples','Bananas','Carrots','Oranges','Cheese']
},
{
type: 'checkbox',
title: 'Stock',
width:'100'
},
],
columnDrag: true,
}]
});
</script>
</html>
import React, { useRef } from "react";
import { Spreadsheet, Worksheet } from "@jspreadsheet-ce/react";
import "jsuites/dist/jsuites.css";
import "jspreadsheet-ce/dist/jspreadsheet.css";
export default function App() {
// Spreadsheet array of worksheets
const spreadsheet = useRef();
// Tabs
const data = [
['BR', 'Cheese', 1],
['CA', 'Apples', 0],
['US', 'Carrots', 1],
['GB', 'Oranges', 0],
];
const columns = [
{
type: 'autocomplete',
title: 'Country',
width: '300',
url: '/jspreadsheet/countries.json'
},
{
type: 'dropdown',
title: 'Food',
width: '150',
source: ['Apples','Bananas','Carrots','Oranges','Cheese']
},
{
type: 'checkbox',
title: 'Stock',
width:'100'
},
];
return (
<Spreadsheet ref={spreadsheet}>
<Worksheet data={data} columns={columns} columnDrag={true} />
</Spreadsheet>
);
}
<template>
<Spreadsheet ref="spreadsheet">
<Worksheet :data="data" :columns="columns" :columnDrag="true" />
</Spreadsheet>
</template>
<script>
import { ref } from 'vue';
import { Spreadsheet, Worksheet } from "@jspreadsheet-ce/vue";
import "jsuites/dist/jsuites.css";
import "jspreadsheet-ce/dist/jspreadsheet.css";
export default {
components: {
Spreadsheet,
Worksheet
},
setup() {
// Spreadsheet reference
const spreadsheet = ref(null);
// Data for the worksheet
const data = ref([
['BR', 'Cheese', 1],
['CA', 'Apples', 0],
['US', 'Carrots', 1],
['GB', 'Oranges', 0],
]);
// Columns definition for the worksheet
const columns = ref([
{
type: 'autocomplete',
title: 'Country',
width: '300',
url: '/jspreadsheet/countries.json'
},
{
type: 'dropdown',
title: 'Food',
width: '150',
source: ['Apples','Bananas','Carrots','Oranges','Cheese']
},
{
type: 'checkbox',
title: 'Stock',
width: '100'
},
]);
return {
spreadsheet,
data,
columns
};
}
}
</script>