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

本文档介绍了如何在dgrid表格中添加可编辑和复制单元格的特性。通过修改html和js文件,实现了对表格数据的交互操作,并提供了示例图展示效果。

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();
		}

	});

});

示例图


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值