繁体   English   中英

用于dojo / dgrid的TextArea单元格渲染器

[英]TextArea cell renderer for dojo/dgrid

我正在使用dgrid / Grid定义表结构。 我希望表格单元格显示多行文本 我想出了如何使单元格编辑器成为TextArea。 但是, 我不清楚如何使渲染器也显示多行文本。 我该如何完成? 这就是我所拥有的:

editor({label: "First Name", field: "first", sortable: false, editor: getCellEditor, editOn: "dblclick", dismissOnEnter: false})

“ getCellEditor”是一个返回dijit / form / TextArea的帮助方法。 双击单元格将产生一个多行文本区域。 但是,当我完成编辑并退出单元格时,单元格文本将恢复为单行显示。 这是整个网格定义:

function getCellEditor() {
    return new TextArea();
}           

// Create a new constructor by mixing in the components
var CustomGrid = declare([ Grid, Keyboard, Selection, ColumnSet, ColumnResizer, editor ]);

var grid = new CustomGrid({
    columnSets: [
        [
            [
                editor({label: "First Name", field: "first", sortable: false, editor: getCellEditor, editOn: "dblclick", dismissOnEnter: false})
            ]
        ], 
        [
            [
                editor({ label: "Last Name", field: "last", sortable: false, editor: getCellEditor, editOn: "dblclick", dismissOnEnter: false}),
                editor({ label: "Age", field: "age", sortable: false, editor: getCellEditor, editOn: "dblclick", dismissOnEnter: false})
            ]

        ]
    ],
    selectionMode: "single", // for Selection; only select a single row at a time
    cellNavigation: true // for Keyboard; allow only row-level keyboard navigation
}, "grid");

这是我的第一个JavaScript问题,因此请原谅任何缺少的信息。 如果您需要其他任何信息来回答此问题,请告诉我。

在renderCell函数中,您可以在textarea小部件中定义属性。

function getCellEditor() {
   return new TextArea({
      rows:"5"
   });
}

试试这个可能对您有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM