2013-04-28 44 views

Trả lời

7

Đó là không thể, nhưng theo hiểu biết của tôi bạn chỉ muốn kết hợp các cuộc gọi khác nhau này để thiết lập một giá trị trong mô hình khi bạn cần phải thông báo về những thay đổi trong mô hình chỉ một lần để lưu trữ nên cửa hàng sẽ chỉ lửa update sự kiện một lần

Nếu đây là trường hợp của bạn thì bạn có thể sử dụng beginEditendEdit chức năng

var model = new Ext.data.Model(); 

model.beginEdit(); 

model.set('field1', 'value1'); 
model.set('field2', 345); 
model.set('field3', true); 

model.endEdit(); 
+1

Điều này không đúng, phương thức set() cũng có thể xử lý một đối tượng thiết lập nhiều thông số như Liverbool nói. Nó không phải là tài liệu nhưng luôn luôn có thể. Xem mã nguồn. http://docs.sencha.com/extjs/4.1.3/source/Model.html#Ext-data-Model-method-set – oldwizard

9

http://docs.sencha.com/extjs/4.2.1/#!/api/Ext.data.Model

Bạn có thể thiết lập các lĩnh vực để thiết lập, hoặc một đối tượng chứa cặp khóa/giá trị

record.set({ 
    field1: value, 
    field2: value2 
}); 

// or 

record.set(field1, value); 
record.set(field2, value2); 
0

Tôi muộn để dự buổi tiệc nhưng đây là một cách khác để thực hiện:

var rec = new Ext.data.Model({ 
    field1: 'value1', 
    field2: 'value2', 
    field3: 'value3' 
}); 
0

Chỉ cần tạo ra một kỷ lục mới mà trả về một kỷ lục trống với tất cả các lĩnh vực mô hình

//this one is for the grid model 

var blank_record = Ext.create(grid.store.model); 

Tạo một đối tượng để thiết lập các giá trị mới cho lĩnh vực

var new_record = { 
     'field1':'value1', 
     'field2':'value2', 
     'field3':'value3' 
    }; 

sau đó thiết lập các giá trị đối tượng vào hồ sơ trống

blank_record.set(new_record); 

Hơn nữa nếu u muốn thêm bản ghi mới được tạo ra vào lưới

grid.store.add(blank_record); 

Hy vọng điều này sẽ giúp

Các vấn đề liên quan