jeecg随笔 -- datagrid扩展editor的思路

easy ui 里的 datagrid 要扩展 editor
实际上只需要在现有可用的
text,textarea,checkbox,numberbox,validatebox,datebox,combobox,combotree
里 直接 参照

datetimebox : {
		init : function(container, options) {
			var editor = $('<input />').appendTo(container);
			editor.datetimebox(options);
			return editor;
		},
		destroy : function(target) {
			$(target).datetimebox('destroy');
		},
		getValue : function(target) {
			return $(target).datetimebox('getValue');
		},
		setValue : function(target, value) {
			$(target).datetimebox('setValue', value);
		},
		resize : function(target, width) {
			$(target).datetimebox('resize', width);
		}
	},
multiplecombobox : {
		init : function(container, options) {
			var editor = $('<input />').appendTo(container);
			options.multiple = true;
			editor.combobox(options);
			return editor;
		},
		destroy : function(target) {
			$(target).combobox('destroy');
		},
		getValue : function(target) {
			return $(target).combobox('getValues').join(',');
		},
		setValue : function(target, value) {
			$(target).combobox('setValues', sy.getList(value));
		},
		resize : function(target, width) {
			$(target).combobox('resize', width);
		}
	}

进行扩展即可

实际上就是:
在现有的编辑器里, 再加入一些自己需要的属性或者特性
然后 作为一个新的 编辑器 注册进去

以下是我注册的一个仿validatebox,但是增加了禁用编辑的编辑器
暂命名为 inputbox


inputbox : {/* 可以禁用的输入域(实际上是扩展了combobox的功能)*/
		init : function(container, options) {
			var editor = $('<input />').appendTo(container);
			options.hasDownArrow = false;
			options.panelHeight = -1;
			editor.combobox(options);
			return editor;
		},
		destroy : function(target) {
			$(target).combobox('destroy');
		},
		getValue : function(target) {
			return $(target).combobox('getValue');
		},
		setValue : function(target, value) {
			$(target).combobox('setValue', value);
		},
		resize : function(target, width) {
			$(target).combobox('resize', width);
		}
	}


你可能感兴趣的:(easyui,jeecg)