删除最后三列Handsontable

时间:2016-01-05 21:17:39

标签: jsp handsontable

我有一个简单的Handsontable,可以显示MySQL表中的一些数据。不幸的是我正在检索太多数据,我需要删除或隐藏添加的列。我在互联网上搜索过,看起来似乎有可能,但我发现的每个例子似乎都不起作用。

results.jsp

<script>
    var data = ${jsonProducts}; 
    var ht = new Handsontable(dataTable, {
        data: data,    
        startRows: data.length,
        readOnly: true,
        maxCols: 7,
        colHeaders: true,
        colHeaders: ["Id", "Problem", "Solution", "Deadline", "Type", "Status", "Developer"],            
    });
</script>

我尝试maxCols: 7,但这不起作用。

这就是我检索数据的方式(不是它与问题相关)

@RequestMapping(value = "/result", method = RequestMethod.GET)
public String defaultView(Model model) {
    Iterable<Request> request = requestRepository.findAll();  
    model.addAttribute("requests", request);
    Gson gson = new Gson();
    String json = gson.toJson(request); 
    model.addAttribute("jsonProducts", json);
    return "form/result";
}

这就是目前的表格:current state of Handsontable

我想只显示前7列并隐藏最后3列。

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

在这种情况下,您需要从原始阵列数据源数组中明确定义要在网格中显示的列。例如:

<script>
var data = ${jsonProducts}; 
var ht = new Handsontable(dataTable, {
    data: data,    
    startRows: data.length,
    readOnly: true,
    maxCols: 7,
    columns: [{ data: 0, type: 'text' }, { data: 1, type: 'text' }, { data: 2, type: 'text' }, { data: 3, type: 'text' }, { data: 4, type: 'text'}],
    colHeaders: true,
    colHeaders: ["Id", "Problem", "Solution", "Deadline", "Type", "Status", "Developer"],            
});
</script>