Trong ứng dụng Extjs4 của tôi, tôi có lưới và biểu mẫu.Extjs 4, các biểu mẫu có hộp kiểm và loadRecord
Mô hình sử dụng:
Ext.define('TestApplication.model.User', {
extend: 'Ext.data.Model',
fields: [
{ name: 'id', type: 'int', useNull: true },
{ name: 'email', type: 'string'},
{ name: 'name', type: 'string'},
{ name: 'surname', type: 'string'}
],
hasMany: { model: 'Agency', name: 'agencies' },
});
Và Cơ quan:
Ext.define('Magellano.model.Agency', {
extend: 'Ext.data.Model',
fields: [
{name: 'id', type: 'int', useNull: true},
{name: 'name', type: 'string'}
]
});
Sau đó, trong hình thức của tôi, tôi là tạo ra các hộp kiểm:
[...]
initComponent: function() {
var store = Ext.getStore('Agencies');
var checkbox_values = {xtype: 'checkboxfield', name: 'agencies[]'};
var checkboxes = []
store.each(function(record){
var checkbox = {xtype: 'checkboxfield', name: 'agency_ids',
boxLabel: record.get('name'), inputValue: record.get('id')};
checkbox.checked = true;
checkboxes.push(checkbox)
});
this.items = [{
title: 'User',
xtype: 'fieldset',
flex: 1,
margin: '0 5 0 0',
items: [{
{ xtype: 'textfield', name: 'email', fieldLabel: 'Email' },
{ xtype: 'textfield', name: 'name', fieldLabel: 'Nome' },
}, {
title: 'Agencies',
xtype: 'fieldset',
flex: 1,
items: checkboxes
}];
[...]
Tất cả mọi thứ hoạt động tốt cho việc gửi hình thức Tôi nhận được tất cả dữ liệu và có thể lưu nó vào cơ sở dữ liệu.
Khi người dùng nhấp vào lưới ghi được nạp theo hình thức với tiêu chuẩn:
form.loadRecord(record);
Vấn đề là các hộp kiểm không được kiểm tra. Có bất kỳ quy ước đặt tên nào cho các phần tử hộp kiểm để Extjs có thể phát hiện những gì cần thiết không? Làm thế nào tôi có thể thiết lập các mối quan hệ để hình thức sẽ hiểu những gì để kiểm tra? Hay tôi nên làm mọi thứ bằng tay?
tôi thêm này params để hộp kiểm nhưng không thay đổi ... vấn đề chính xác với các hộp kiểm trên biểu mẫu là gì? – efirat
vấn đề của tôi là tôi đã sử dụng xtype: 'textfield' với inputType: 'checkbox' xuất hiện chức năng nhưng không hoạt động chính xác cho đến khi tôi thay đổi xtype. cảm ơn bạn –