如何在单元格中添加自定义按钮?

时间:2014-07-16 07:33:59

标签: button handsontable

我正在尝试在handsontable的每一行末尾添加一个自定义保存按钮。 我在laravel 4中使用了handontable包。

按钮显示如下:

enter image description here

<button>Save</button>

3 个答案:

答案 0 :(得分:8)

尝试使用htmlRenderer

演示:http://docs.handsontable.com/0.19.0/demo-custom-renderers.html

var actionRenderer = function (instance, td, row, col, prop, value, cellProperties) {
  var $button = $('<button>');
  $button.html(value)
  $(td).empty().append($button); //empty is needed because you are rendering to an existing cell
};

var $container = $("#example1");
$container.handsontable({
  /*....*/
  columns: [
    /*....*/
    {data: "action", renderer: actionRenderer}
  ]
});

为了获得更好的性能,渲染器可以用纯JavaScript编写

答案 1 :(得分:4)

我找到了自己问题的答案.. 我在handsontable中使用“渲染器”将单元格渲染为HTML

columns: [
                    {data: "unique_no"},
                    {data: "title"},
                    {data: "subject"},
                    {data: "year"},
                    {data: "duration"},
                    {data: "color"},
                    {data: "language"},
                    {data: "synopsis"},
                    {data: "director"},
                    {data: "basic_format"},
                    {data: "created_at"},
                    {data: "updated_at"},
                    {data: "action", renderer: "html",readOnly: true}

                  ],

这是我找到http://handsontable.com/demo/renderers_html.html#dropdown

的地方

答案 2 :(得分:1)

您可以简单地执行此自定义渲染器。

columns: [
    { data: 'basicFormat', renderer: 'text'},
    { data: 'createdAt', renderer: 'text'},
    { data: 'updatedAt', renderer: 'text'},
    { data: 'action', renderer: 'html'},    
]