您的位置:首页 > 其它

[模板]为dgrid表格中的cell添加可编辑复制属性(自用)

2014-10-23 18:00 176 查看

html文件

<div>
<div data-dojo-attach-point="grid"></div>
</div>


js文件

define([
"dojo/_base/declare",
"dojo/store/Memory",
"dojo/store/Observable",
"dojo/dom-construct",

"dgrid/editor",//引入这个插件
"dgrid/Keyboard",
"dgrid/OnDemandGrid",
"dgrid/Selection",
"dgrid/selector",
"dgrid/extensions/Pagination",
"dgrid/extensions/ColumnResizer",

"dijit/_TemplatedMixin",
"dijit/_WidgetBase",
"dijit/_WidgetsInTemplateMixin",

"dojo/text!html文件路径/为dgrid表格中的cell添加可编辑复制属性.html"
"dojo/domReady!"
], function(declare, Memory, Observable, domConstruct,
editor, Keyboard, OnDemandGrid, Selection, selector, Pagination, ColumnResizer,
_TemplatedMixin, _WidgetBase, _WidgetsInTemplateMixin, template) {

return declare([_WidgetBase, _TemplatedMixin, _WidgetsInTemplateMixin], {
templateString: template,

data: [{
_index: 1,
userName: "haha"
}, {
_index: 2,
userName: "chanhaha"
}],

constructor: function() {
this.inherited(arguments);
},

postCreate: function() {
this.inherited(arguments);
this.main();
},

main: function() {
this._setGrid(this.data);
},

_setGrid: function(data) {
var layout = {
col1 : selector({resizable: false, width: 40}),
name : editor({label: "用户名", width:55, resizable: false}, "text", "click"),//editor这个插件可以允许对cell进行编辑。
selfLabel : {label: "自定义标签", resizable: false, width: 210}
};
this._store = new Memory({
data: data
});
this._store = new Observable(this._store);
this._grid = new(declare([OnDemandGrid, Selection, Keyboard, Pagination, ColumnResizer]))({
columns: layout,
store: this._store,
allowSelectAll: true,
allowTextSelection: true,//Selection插件中的allowTextSelection属性默认为false,设置为true,可以允许对表格文本进行复制。
style: "",
selectionMode: "toggle",
pagingLinks: 2,
rowsPerPage: 10,
pagingTextBox: true,
firstLastArrows: true,
loadingMessage: "数据加载中...",
noDataMessage: "暂无数据。"
}, this.grid);
this._grid.startup();
}

});

});

示例图




内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: