, sadece üç katmandan düşünüyorum: En altta
Grid
----
DataView
----
Data
Eğer ham veri var. Bu sadece eski bir dizi. Dizideki her öğe bir satırlık veriyi (kılavuzda bir satır olarak görüntülenecek şekilde) temsil eder.
DataView veri dizisi okur ve standart yöntemlerle bir çift maruz bırakarak ızgaraya hazır hale getirir. Bu şekilde, ızgara görüntüleme amacıyla veri almak istediğinde, standart yöntemlerden biri ile veri görüşmesinden söz eder.
Kılavuz, görüntü bileşenidir. Tek sorumluluğu, istenen çıktıyı ekranda görüntülemek için gerekli HTML kodunu oluşturmaktır.
ızgara verileri doğrudan erişir olmadı. Sadece veri görüşmesinden bahseder. Bu, veri görünümünün, verileri grup başlıklarını temsil etmek için kullanılan "hayalet" satırları teslim etmek gibi ızgaraya döndürürken hileler yapmasına izin verir. İlginizi çekiyorsa
, Aşağıdaki örnekte sadece SlickGrid ile dataview kullanır ile size gelebilir en basit örnek hakkındadır.
var data = [
{ title: "Primer", rating: "A" },
{ title: "Matrix", rating: "B" },
{ title: "Transformers", rating: "C" },
];
var columns = [
{ id: "title", name: "Title", field: "title" },
{ id: "rating", name: "Rating", field: "rating" }
];
var options = {
enableColumnReorder: false // ... whatever grid options you need
};
var dataView = new Slick.Data.DataView();
var grid = new Slick.Grid("#myGrid", dataView, columns, options);
// wire up model events to drive the grid
dataView.onRowCountChanged.subscribe(function (e, args) {
grid.updateRowCount();
grid.render();
});
dataView.onRowsChanged.subscribe(function (e, args) {
grid.invalidateRows(args.rows);
grid.render();
});
// Feed the data into the dataview
dataView.setItems(data);
Özel DataView uygulaması mı yoksa varsayılan DataView'e G/Ç sağlayan ayrı bir model mi yazılmaya karar veriyorum. Herhangi biri özel bir DataView oluşturdu veya gördü mü? Daha önce hiç görmedim ve bir okuma yapmak istiyorum. – SimplGy
veri bir id ihtiyacı veya başka bir hata atacaktır – Ammon