khusamov
08.06.2012, 02:15
Здравствуйте!
Как сделать Ext.grid.Panel, у которого после создания можно было бы менять колонки?
То есть создал я к примеру таблицу с одним набором колонок (и соответствующим Store+Model). А потом хочу загрузить таблицу с другим набором колонок, но не хочу удалять этот grid.
Пока я не нашел методов, чтобы на ходу можно было бы менять модель или ее содержимое, менять Store у grid-а.
<!DOCTYPE html>
<html>
<head>
<title>demo</title>
<script src='http://dev.sencha.com/deploy/ext-4.0.7-gpl/ext-all.js'></script>
<link rel="stylesheet" href="http://dev.sencha.com/deploy/ext-4.0.7-gpl/resources/css/ext-all.css">
<script>
Ext.onReady(function() {
var store = Ext.create('Ext.data.Store', {
fields:['name', 'email', 'phone'],
proxy: {
type: 'memory',
reader: {
type: 'json',
root: 'items'
}
}
});
Ext.create('Ext.grid.Panel', {
title: 'test',
store: store,
columns: [
{ header: 'Name', dataIndex: 'name' },
{ header: 'Email', dataIndex: 'email', flex: 1 },
{ header: 'Phone', dataIndex: 'phone' }
],
height: 200,
width: 400,
renderTo: Ext.getBody(),
tbar: [{
text: 'изменить поля' ,
handler: function() {
var gd = this.up('grid');
gd.reconfigure(gd.getStore(), [
{ header: 'aaaa', dataIndex: '1111' },
{ header: 'bbbb', dataIndex: '2222', flex: 1 },
{ header: 'cccc', dataIndex: '3333' }
]);
}
}]
});
});
</script>
</head>
<body></body>
</html>
khusamov
08.06.2012, 15:30
Ни за что не подумал что это находится в методе reconfigure()...
Спасибо!
Сейчас попробую найти подобные методы в Store и в Model.
vBulletin® v3.6.7, Copyright ©2000-2025, Jelsoft Enterprises Ltd. Перевод: zCarot