A PropertyGrid egy olyan speciális EditorGrid, amelynek két oszlopa van: name és value, ahol a value oszlopban lévő értékek szerkeszthetőek. Amiért érdekes ez az osztály, hogy a használata sokkalta kényelmesebb, átláthatóbb mintha egy szimpla EditorGrid-del készítenénk el ugyanezt.
Sajnos szerkesztés nélküli verziója nincsen. Pedig lehetne... :)
Egy tetszőleges EditorGrid-nél, ha a beforeedit esemény hamis értékkel tér vissza, akkor nem jelenik meg a szerkesztőmező. Ezzel szinte már el is értük a readOnly PropertyGrid-et, ám nem túl elegáns, hogy a gridben a kijelölés csak a value oszlopon látszódik, illetve egy PropertyGrid a HTML felépítésekor kap egy class-t, ami az szokásos selModel-lel rosszul néz ki, így ezt is ki kell ütni.
Tehát:
var readonly_propertygrid = new Ext.grid.PropertyGrid({
title: 'Properties Grid',
width: 300,
renderTo: Ext.getBody(),
source: {
"(name)": "My Object",
"Created": new Date(Date.parse('10/15/2006')),
"Available": false,
"Version": .01,
"Description": "A test object"
},
listeners: { 'beforeedit': function() {return false;} },
selModel: new Ext.grid.RowSelectionModel(),
onRender: Ext.grid.PropertyGrid.superclass.onRender
});