dojo.les données.ItemFileReadStore + dojox.de la grille.DataGrid + 100% de la largeur et de la hauteur
Je veux un dojox.de la grille.DataGrid avec un dojo.les données.ItemFileReadStore comme la banque de données. Je veux qu'elle remplisse tout l'écran. Je ne veux pas spécifier les dimensions en pixels. Tous les exemples que j'ai vu les spécifier en pixels ou de l'utilisation des données CSV magasin. J'ai essayé d'utiliser les éléments HTML et javascript pour l'installation de la grille de données et de les stocker.
Quelqu'un a fait cela? Est-il d'un bug? Il semble comme ce que quelqu'un voudrait, mais peut-être qu'il n'est pas possible pour une raison quelconque. Des idées? Merci!
Modifier pour insérer le code:
<div id="gridContainer" style="width: 100%; height: 100%;"></div>
<div id="gridContainer1" style="width: 400px; height: 200px;"></div>
<script type="text/javascript">
dojo.addOnLoad(function(){
//our test data store for this example:
var jsonStore = new dojo.data.ItemFileReadStore({
url: '/mydata.json'
});
var layout = [{
field: 'id',
name: 'id',
width: '20px'
},
{
field: 'name',
name: 'name',
width: '50px'
},
{
field: 'owner',
name: 'owner',
width: '50px'
}];
//create a new grid:
var grid = new dojox.grid.DataGrid({
query: {
rowid: '*'
},
store: jsonStore,
clientSort: true,
rowSelector: '20px',
structure: layout
},
document.createElement('div'));
dojo.byId("gridContainer1").appendChild(grid.domNode);
grid.startup();
});
</script>
Selon que j'utilise gridContainer ou gridContainer1, il ne montre pas ou affiche la grille respectivement.
Ce qui donne?
Vous devez vous connecter pour publier un commentaire.
Hé oui, tout à fait possible.
1) mise en Page est de la responsabilité de la mise en page des widgets (ContentPane, StackContainer, BorderContainer, TabContainer...) La grille est en mesure de prendre part dans une mise en page, mais vous devriez vraiment le placer dans un contianer qui est conçu pour faire de mise en page.
2) Programatic création peut être réalisé avec:
où
MyFirstColumnHeader est le texte que vous voulez dans la première colonne d'en-tête
someColumnInMyData est l'attribut de l'objet ou "colonne" dans les données à afficher
gridPlaceholder est une div sur la page de la grille (juste ajouter une div vide à ContentPane et que le style de la ContentPane être width : 100%, hauteur : 100%
uniqueIdOfEachItem est la propriété de chaque élément affiché que des marques comme unique, par exemple, de leur clé primaire ou l'ID de la propriété
Cet exemple crée une lecture/écriture magasin et a une mise en page simple, mais le dojo docs devraient être en mesure d'aider avec des exemples plus complexes.