2010-03-11 7 views
0

J'ai besoin d'aide pour les colonnes dynamiques dans un DataGrid. J'utilise front-end GenericFrame avec backend PHP.colonnes de grille dynamiques

Si j'utilise des colonnes statiques comme ceci:

<? ... ?> 
<DataGrid id="DataGrid1" width="100%"> 
    <columns> 
     <DataGridColumn headerText="name" dataField="@username" width="150"/> 
     <DataGridColumn headerText="Nahcname" dataField="@secondname" width="150"/> 
     <DataGridColumn headerText="alter" dataField="@age" width="40"/> 
    </columns> 
</DataGrid> 
<? ... ?> 

Il fonctionne très bien.

Mais j'essaie de créer les colonnes dynamiques avec PHP.

<generic> 
<template target="gridbox"> 
    <VBox id="dynamic" height="100%"> 
     <!-- DataGrid --> 
     <DataGrid id="DataGrid1" width="100%" > 
      <columns> 
       <?php 
        $columns = array(//Spalte => (Breite, Datenfeld) 
         "name" => array(150,"@username"), 
         "Nahcname" => array(150,"@secondname"), 
         "alter"=> array(40,"@age") 
        ); 
        foreach ($columns as $key => $value) { ?> 
         <DataGridColumn headerText="<? echo $key; ?>" dataField="<? echo $value[0]; ?>" width="<? echo $value[0];?>"/> 
        <?php } ?> 
      </columns> 
     </DataGrid> 
     <Binding source="templatedata.data1.item" destination="DataGrid1.dataProvider" /> 
    </VBox> 
</template> 
<templatedata> 
    <data1> 
     <!-- Daten --> 
     <item username="User1" secondname="Nachname1" age="22"/> 
     <item username="User2" secondname="Nachname2" age="25"/> 
     <item username="User3" secondname="Nachname3" age="27"/> 
     <item username="User4" secondname="Nachname4" age="32"/> 
    </data1> 
</templatedata> 

Le DataGrid est affiché correctement, mais sans données? une idée pourquoi?

+0

De quel produit est-ce? Pouvez-vous fournir des liens? –

+0

Ceci est GenericFrame, vous pouvez le trouver sur le web. www.genericframe.com – user248810

Répondre

0

Un problème que je peux voir est que vous utilisez la valeur $ [0] deux fois, pour "dataField" et pour "largeur":

<DataGridColumn headerText="<? echo $key; ?>" dataField="<? echo $value[0]; ?>" width="<? echo $value[0];?>"/> 

Ne devrait-il ceci:

<DataGridColumn headerText="<? echo $key; ?>" dataField="<? echo $value[1]; ?>" width="<? echo $value[0];?>"/> 
+0

Thansk! Ça y est ...! (Je ne peux pas voter - besoin d'au moins 10 réputation) – user248810

Questions connexes