调整kendo网格内的textarea大小

时间:2016-08-11 10:14:04

标签: javascript html kendo-ui telerik kendo-grid

我需要一个kendo网格内的内联textarea,以允许用户编辑字符串值。我想使用textarea,因为它的值可能很长。我正在使用自定义编辑器来实现这一点,如下所述:http://www.telerik.com/forums/how-to-change-input-to-textarea-in-popup-editor

我将textarea的宽度和高度设置为与容器的

相同
$('<textarea data-text-field="Label" data-value-field="Value" data-bind="value:' + options.field + '" style="width: ' + container.width() + 'px;height:' + container.height() + 'px" />')

这似乎不起作用。当我在单击要编辑的单元格之前检查开发人员工具中textarea元素的高度时,它显示为35px,之后显示为47px。这会导致网格的其余部分向下移动。

http://dojo.telerik.com/@unicorn2/eCAkU

1 个答案:

答案 0 :(得分:2)

之所以发生这种情况,是因为在这种情况下,您无法将container的高度用作其内部元素的高度。例如,该行具有其他间距属性,例如填充。在一个简单快速的镜头中我得出了这个:

$('<textarea data-text-field="Label" data-value-field="Value" data-bind="value:' + options.field + '" style="width: ' + (container.width() - 10) + 'px;height:' + (container.height() - 12) + 'px" />').appendTo(container);

Demo

只需减少容器的尺寸,它就非常适合行高。唯一的问题是断行,因为当调用editor回调时,容器的内容被重置,行的高度变得像是一行一样。然后container.height()返回单行高度。