Моя проблема очень похожа на этот вопрос:ExtJS4 Сетка магазин/модель показывает пустую строку (ы)
, но в отличии битов в синтаксисе & поведения, я провел день (ы), чтобы решить, попробовав разными способами, но потерпел неудачу.
Пожалуйста, обратите внимание, что: я должен держать поведение поколения SharpKit.NET путем вызова родительского конструктора вместо строительства JSon поля, как код ниже
Ext.define("Core.Scripts.model.Book", {
extend: "Ext.data.Model",
fields: ["title", "pages"] // Do not use this
});
Ext.define("Core.Scripts.model.Book", {
extend: "Ext.data.Model",
constructor: function() {
this.callParent([{ fields: ["title", "pages"] }]); // Use this
}
});
Это ссылка на мой упрощенной версии на jsfiddle http://jsfiddle.net/thanhptr/LqXan/ , Пыльник мой скопирована код, этот код еще не исправить:
Ext.define("Core.Scripts.model.Book", {
extend: "Ext.data.Model",
constructor: function() {
this.callParent([{ fields: ["title", "pages"] }]);
}
});
Ext.define("Core.Scripts.store.Store", {
extend: "Ext.data.Store",
constructor: function() {
this.callParent([{
model: "Core.Scripts.model.Book",
data: [
{ title: "book 1", pages: 10 },
{ title: "book 2", pages: 20 }
]
}]);
}
});
Ext.define("Core.Scripts.view.GridPanel", {
extend: "Ext.grid.Panel",
constructor: function() {
this.callParent([{
store: new Core.Scripts.store.Store(),
region: "center",
columns: [
{ header: "title", dataIndex: "title" },
{ header: "pages", dataIndex: "pages" }
]
}]);
}
});
Ext.define("Core.Scripts.view.DetailViewport", {
extend: "Ext.container.Viewport",
constructor: function() {
this.callParent([{
frame: true,
layout: "border",
items: [new Core.Scripts.view.GridPanel()]
}]);
}
});
Ext.onReady(function() {
var viewPort = new Core.Scripts.view.DetailViewport();
});
Поблагодарите Philosofis за вашу помощь! но я хотел сохранить синтаксис и формат кода как код генерации кода SharpKit, в коде, который был выше, генерации SharpKit, требуемой для вызова базового конструктора (без объявления в качестве вашей модификации). –