30.11.2012, 13:08
|
Аспирант
|
|
Регистрация: 20.09.2010
Сообщений: 58
|
|
Dojo/store/Memory объект как store для DataGrid
Можно ли использовать объект Memory в качестве параметра store для DataGrid? На сколько я понимаю, вектор развития dojo toolkit в дальнейшем исключает использование объектов из dojo/data (Deprecated, dojo/store will eventually replace the dojo/data API.). В связи с этим вопрос: можно ли использовать dojo/store объекты в качестве источника данных для DataGrid?
|
|
03.12.2012, 13:58
|
Аспирант
|
|
Регистрация: 15.07.2010
Сообщений: 49
|
|
DataGrid вообще довольно мертвая штука. Сейчас наиболее популярен dgrid:
http://dojofoundation.org/packages/d...s/hello_dgrid/
И, как видно из примеров, он умеет кушать массивы в чистом виде. Т.е. если Memory вам был нужен только для этого, то можно обойтись и без него.
В то, что Dojo целиком от data/store откажется, верится слабо, по скольку как иначе работать с большими объемами данными через JsonRest не очень понятно. Можно, пожалуйста, ссылку откуда цитата?
|
|
03.12.2012, 17:11
|
Аспирант
|
|
Регистрация: 20.09.2010
Сообщений: 58
|
|
Сообщение от burashka
|
Можно, пожалуйста, ссылку откуда цитата?
|
Да, конечно - здесь
Memory как таковой мне не нужен, просто возникла необходимость реализовать некислый функционал, а для тренировки самое то. А так да.. предполагаю использовать JSON.
Последний раз редактировалось abstract, 03.12.2012 в 17:16.
|
|
03.12.2012, 17:22
|
Аспирант
|
|
Регистрация: 15.07.2010
Сообщений: 49
|
|
а. Все правильно. Я не так вас понял. dojo/data даже и не встречал особо. Сам всегда использую модули из dojo/store.
|
|
03.12.2012, 19:56
|
Аспирант
|
|
Регистрация: 20.09.2010
Сообщений: 58
|
|
Сообщение от burashka
|
а. Все правильно. Я не так вас понял. dojo/data даже и не встречал особо. Сам всегда использую модули из dojo/store.
|
А мне показалось наоборот...все примеры через data, а у меня storage:Memory при инициализации таблицы ведет к ошибке.
|
|
03.12.2012, 20:43
|
Аспирант
|
|
Регистрация: 15.07.2010
Сообщений: 49
|
|
Попробуйте dgrid. Может DataGrid такой же деприкейт как и dojo/data. если все-равно будет фигня - пишите пример, посмотрим
|
|
08.02.2013, 11:50
|
Аспирант
|
|
Регистрация: 20.09.2010
Сообщений: 58
|
|
Сообщение от burashka
|
Попробуйте dgrid. Может DataGrid такой же деприкейт как и dojo/data. если все-равно будет фигня - пишите пример, посмотрим
|
С документацией- беда... Вот тут чего-то не хватает
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Dgrid TEST!</title>
</head>
<body>
<script src="JS/dojo-release-1.8.1-src/dojo/dojo.js" data-dojo-config="async:true">
</script>
<style>
.dgrid-content-first{
background: red;
}
</style>
<script>
require(["dgrid/Grid","dojo/store/Memory","dojo/domReady!"], function(Grid,Memory){
var columns = [
{
field: "vin",
label: "VIN_"
},
{
field: "odo",
label: "odometer"
}
];
var subrows=[
{ field:"sub",
label:"AKA"
}
]
var data_odo= [{"vin":"102301","odo":"2300"},
{"vin":"56435","odo":"4567"}];
var mystore=new Memory({idProperty:"vin", data: data_odo});
alert("А это типа объект стор" +mystore.get("102301"));
var grid = new Grid({
columns:columns,
//subRows:subrows, //свойства таблицы
store:mystore
},
"grid"); // attach to a DOM id
grid.startup();
});
</script>
<div id="grid"></div>
</body>
</html>
Отображается пустая таблица.
|
|
08.02.2013, 17:12
|
Аспирант
|
|
Регистрация: 20.09.2010
Сообщений: 58
|
|
Точно, отсутствие документации- зло... Я так выяснил методом проб и ошибок,что в случае использования источника данных *store следует использовать конструктор OnDemandGrid.
Рабочий код:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Dgrid TEST!</title>
</head>
<body>
<script src="JS/dojo-release-1.8.1-src/dojo/dojo.js" data-dojo-config="async:true">
</script>
<style>
.dgrid-content-first{
background: red;
}
</style>
<script>
require(["dgrid/OnDemandGrid","dojo/store/Memory","dojo/domReady!"], function(OnDemandGrid,Memory){
var columns = [
{
field: "vin",
label: "VIN_"
},
{
field: "odo",
label: "odometer"
}
];
var subrows=[
{ field:"sub",
label:"AKA"
}
]
var data_odo= [{"vin":"102301","odo":"2300"},
{"vin":"56435","odo":"4567"}];
var mystore=new Memory({idProperty:"vin", data: data_odo});
alert("А это поле odo объекта стор: " +mystore.get("102301")["odo"]);
var grid = new OnDemandGrid({
//subRows:subrows, //свойства таблицы
store:mystore,
columns:columns
},
"grid"); // attach to a DOM id
grid.startup();
});
</script>
<div id="grid"></div>
</body>
</html>
|
|
|
|