87,838
社区成员




// 初始化编辑单元格
var initEditCell = function ($self, op, col) {
switch (col.data.edit.type) {
case 'input': // 输入框 文本,数字,密码
col.$edit = $('<div class="jfgrid-edit-cell"><input id="jfgrid_edit_' + op.id + '_' + col.data.name + '" /></div>');
if (col.frozen) {
$self.find('#jfgrid_left_' + op.id).append(col.$edit);
}
else {
$self.find('#jfgrid_right_' + op.id).append(col.$edit);
}
col.$edit.on("keypress", function (e) {
if (event.keyCode == "13") {
hideEditCell();
}
});
break;
case 'select': // 下拉框选择
col.$edit = $('<div class="jfgrid-edit-cell"><div id="jfgrid_edit_' + op.id + '_' + col.data.name + '" ></div></div>');
if (col.frozen) {
$self.find('#jfgrid_left_' + op.id).append(col.$edit);
}
else {
$self.find('#jfgrid_right_' + op.id).append(col.$edit);
}
col.data.edit.op = col.data.edit.op || {};
col.$edit.find('div').uqselect(col.data.edit.op);
col.data.edit.op.value = col.$edit.find('div')[0]._uqselect.dfop.value;
col.data.edit.op.text = col.$edit.find('div')[0]._uqselect.dfop.text;
if (col.data.edit.datatype == 'dataItem') {
uquick.clientdata.getAllAsync('dataItem', {
code: col.data.edit.code,
callback: function (dataes) {
var list = [];
$.each(dataes, function (_index, _item) {
list.push({ id: _item.value, text: _item.text, title: _item.text, k: _index });
});
col.$edit.find('div').uqselectRefresh({ data: list });
}
});
}
else if (col.data.edit.datatype == 'dataSource') {
uquick.clientdata.getAllAsync('sourceData', {
code: col.data.edit.code,
callback: function (dataes) {
col.$edit.find('div').uqselectRefresh({
data: dataes
});
}
});
}
break;
case 'radio': // 单选
col.$edit = $('<div class="jfgrid-edit-cell"><div id="jfgrid_edit_' + op.id + '_' + col.data.name + '" class="radio" ></div></div>');
if (col.frozen) {
$self.find('#jfgrid_left_' + op.id).append(col.$edit);
}
else {
$self.find('#jfgrid_right_' + op.id).append(col.$edit);
}
if (col.data.edit.datatype == 'dataItem') {
col.$edit.find('div').uqRadioCheckbox({
type: 'radio',
code: col.data.edit.code
});
}
else if (col.data.edit.datatype == 'dataSource'){
col.$edit.find('div').uqRadioCheckbox({
type: 'radio',
dataType: 'dataSource',
code: col.data.edit.code,
text: col.data.edit.text,
value: col.data.edit.value
});
}
else {
$.each(col.data.edit.data || [], function (id, item) {
var $point = $('<label><input name="jfgrid_edit_' + op.id + '_' + col.data.name + '" value="' + item.id + '"' + (col.data.edit.dfvalue == item.id ? "checked" : "") + ' type="radio">' + item.text + '</label>');
col.$edit.find('div').append($point);
});
}
break;
case 'checkbox': // 多选
col.$edit = $('<div class="jfgrid-edit-cell"><div id="jfgrid_edit_' + op.id + '_' + col.data.name + '" class="checkbox" ></div></div>');
if (col.frozen) {
$self.find('#jfgrid_left_' + op.id).append(col.$edit);
}
else {
$self.find('#jfgrid_right_' + op.id).append(col.$edit);
}
if (col.data.edit.datatype == 'dataItem') {
col.$edit.find('div').uqRadioCheckbox({
type: 'checkbox',
code: col.data.edit.code
});
}
else if (col.data.edit.datatype == 'dataSource') {
col.$edit.find('div').uqRadioCheckbox({
type: 'checkbox',
dataType: 'dataSource',
code: col.data.edit.code,
text: col.data.edit.text,
value: col.data.edit.value
});
}
else {
$.each(col.data.edit.data || [], function (id, item) {
var $point = $('<label><input name="jfgrid_edit_' + op.id + '_' + col.data.name + '" value="' + item.id + '"' + (col.data.edit.dfvalue == item.id ? "checked" : "") + ' type="checkbox">' + item.text + '</label>');
col.$edit.find('div').append($point);
});
}
break;
case 'datatime': // 时间
var dateformat = col.data.edit.dateformat == '0' ? 'yyyy-MM-dd' : 'yyyy-MM-dd HH:mm';
col.$edit = $('<div class="jfgrid-edit-cell"><input id="jfgrid_edit_' + op.id + '_' + col.data.name + '" onClick="WdatePicker({dateFmt:\'' + dateformat + '\',qsEnabled:false,isShowClear:false,isShowOK:false,isShowToday:false,onpicked:function(){$(\'#jfgrid_edit_' + op.id + '_' + col.data.name + '\').trigger(\'change\');}})" type="text" class="form-control" /></div>');
if (col.frozen) {
$self.find('#jfgrid_left_' + op.id).append(col.$edit);
}
else {
$self.find('#jfgrid_right_' + op.id).append(col.$edit);
}
col.$edit.on("keypress", function (e) {
if (event.keyCode == "13") {
hideEditCell();
}
});
break;
case 'layer': // 弹层
break;
}
};
非常不错
写的好啊,感觉受益匪浅