-修正删除当前选中的新增行时总是删除第一行的问题(lrjnew-8004)。
-新增行之前先清空当前选中的单元格。
This commit is contained in:
parent
3c1d7c8fda
commit
ea1604634e
@ -898,6 +898,7 @@ if (Ext.grid.Panel) {
|
|||||||
var store = me.getStore();
|
var store = me.getStore();
|
||||||
|
|
||||||
Ext.Array.each(selection, function (record, index) {
|
Ext.Array.each(selection, function (record, index) {
|
||||||
|
// 晕倒:新增行的 record.getId() 居然为 undedined,没办法!
|
||||||
selectedRows.push(record.getId());
|
selectedRows.push(record.getId());
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
@ -1137,22 +1138,67 @@ if (Ext.grid.Panel) {
|
|||||||
|
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 获取选中的行
|
||||||
|
f_getSelectedRows: function () {
|
||||||
|
var selectedRows = [];
|
||||||
|
var sm = this.getSelectionModel();
|
||||||
|
if (sm.getSelection) {
|
||||||
|
var selection = sm.getSelection();
|
||||||
|
var store = this.getStore();
|
||||||
|
|
||||||
|
Ext.Array.each(selection, function (record, index) {
|
||||||
|
selectedRows.push(store.indexOf(record));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return selectedRows;
|
||||||
|
},
|
||||||
|
|
||||||
|
|
||||||
|
// 仅内部使用(f_deleteSelectedRows)
|
||||||
|
f_getSelectedRowsIndex: function () {
|
||||||
|
var selectedRows = [];
|
||||||
|
var sm = this.getSelectionModel();
|
||||||
|
if (sm.getSelection) {
|
||||||
|
var selection = sm.getSelection();
|
||||||
|
var store = this.getStore();
|
||||||
|
|
||||||
|
Ext.Array.each(selection, function (record, index) {
|
||||||
|
selectedRows.push(store.indexOf(record));
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
return selectedRows;
|
||||||
|
},
|
||||||
|
|
||||||
|
// 仅内部使用(f_deleteSelectedRows)
|
||||||
|
f_getSelectedCellIndex: function () {
|
||||||
|
var selectedCell = [], currentPos;
|
||||||
|
var sm = this.getSelectionModel();
|
||||||
|
if (sm.getCurrentPosition) {
|
||||||
|
currentPos = sm.getCurrentPosition();
|
||||||
|
if (currentPos) {
|
||||||
|
selectedCell = [currentPos.row, currentPos.columnHeader.f_columnIndex];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return selectedCell;
|
||||||
|
},
|
||||||
|
|
||||||
// 从Store中删除选中的行(或者单元格)
|
// 从Store中删除选中的行(或者单元格)
|
||||||
f_deleteSelectedRows: function () {
|
f_deleteSelectedRows: function () {
|
||||||
var me = this;
|
var $this = this;
|
||||||
var store = me.getStore();
|
var store = this.getStore();
|
||||||
|
|
||||||
var sm = me.getSelectionModel();
|
var sm = this.getSelectionModel();
|
||||||
if (sm.getSelection) {
|
if (sm.getSelection) {
|
||||||
var rows = me.f_getSelectedRows();
|
var rows = this.f_getSelectedRowsIndex();
|
||||||
Ext.Array.each(rows, function (rowId, index) {
|
Ext.Array.each(rows, function (rowIndex, index) {
|
||||||
store.remove(store.getById(rowId));
|
store.removeAt(rowIndex);
|
||||||
});
|
});
|
||||||
} else if (sm.getSelectedCell) {
|
} else if (sm.getSelectedCell) {
|
||||||
var selectedCell = me.f_getSelectedCell();
|
var selectedCell = this.f_getSelectedCellIndex();
|
||||||
if (selectedCell.length) {
|
if (selectedCell.length) {
|
||||||
store.remove(store.getById(selectedCell[0]));
|
store.removeAt(selectedCell[0]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@ -1179,8 +1225,14 @@ if (Ext.grid.Panel) {
|
|||||||
}
|
}
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
// 清空当前选中的单元格
|
||||||
|
me.getSelectionModel().setCurrentPosition();
|
||||||
|
|
||||||
|
|
||||||
|
// 取消正在编辑
|
||||||
|
me.f_cellEditing.cancelEdit();
|
||||||
|
|
||||||
|
|
||||||
me.f_cellEditing.cancelEdit();
|
|
||||||
|
|
||||||
var newAddedRecords;
|
var newAddedRecords;
|
||||||
//var rowIndex = 0;
|
//var rowIndex = 0;
|
||||||
|
@ -30,7 +30,10 @@ FineUI 严格遵守 ExtJS 对开源软件的规定,不再内置 ExtJS 库,
|
|||||||
发布历史
|
发布历史
|
||||||
|
|
||||||
+2016-05-** v4.2.4
|
+2016-05-** v4.2.4
|
||||||
-修正选中表格中不存在行时出错的问题(yygy-8066)。
|
+表格增强。
|
||||||
|
-修正选中不存在行时出错的问题(yygy-8066)。
|
||||||
|
-修正删除当前选中的新增行时总是删除第一行的问题(lrjnew-8004)。
|
||||||
|
-新增行之前先清空当前选中的单元格。
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user