Tôi đang sử dụng ExtJS 4.2.1 và có thiết lập khá đơn giản: cửa hàng dựa trên JSON và bảng điều khiển lưới đọc từ cửa hàng đó. Sự kiện nhấp của nút thêm sẽ gọi ra chức năng bên dưới.Chuyển đổi trình chỉnh sửa ô sau khi ghi theo chương trình được thêm vào lưới trong ExtJS
Mục tiêu của tôi là thêm hàng trống vào lưới và bắt đầu chỉnh sửa ngay lập tức bằng cách sử dụng plugin Ext.grid.plugin.CellEditing
được bật trên bảng điều khiển.
var addNewRow = function() {
// start add logic
var row = {
'name': '',
'email': '',
'description': ''
};
store.add(row);
// start auto-edit logic
var index = store.indexOf(row); // -1
var grid = Ext.ComponentQuery.query('gridpanel[itemId=upperPane]')[0];
var plugin = grid.getPlugin('upperPaneEditor');
plugin.startEdit(index, 0);
};
Trong khi gỡ lỗi này, chỉ mục được đặt thành -1 và không hoạt động. Tôi đã thử nghiệm chức năng của plugin.startEdit() với (0, 0) để chỉnh sửa cột đầu tiên của hàng đầu tiên và nó hoạt động tốt. Tôi đã cố gắng di chuyển tự động chỉnh sửa logic để xử lý sự kiện khác nhau cố gắng để làm cho nó làm việc:
- kiện
add
của cửa hàng bị sa thải sau khi add và phản ánh các chỉ số chính xác nhưng yếu tố này đã không có mặt nhưng trong gridpanel cho các plugin để lấy nó. - Sự kiện
afterrender
của gridpanel không kích hoạt sau khi thêm - Sự kiện
add
của gridpanel được kích hoạt nhưng chỉ sau khi nhấp đúp vào ô theo cách thủ công để chỉnh sửa sự kiện. Nó cũng đã kết thúc trong một vòng lặp với chính nó.
Tôi không chắc chắn về những điều cần thử tại thời điểm này.
Awesome, mà làm việc. Cảm ơn! – anjunatl