2010-03-11 122 views
0

我需要DataGrid中動態列的幫助。我使用GenericFrame前端和PHP後端。動態網格列

如果我使用靜態列如下:

<? ... ?> 
<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> 
<? ... ?> 

這是工作的罰款。

但我嘗試使用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> 

的DataGrid中顯示正常,但沒有數據?任何想法爲什麼?

+0

這是什麼產品?你能提供一些鏈接嗎? – 2010-03-11 21:39:45

+0

這是GenericFrame,你可以在網上找到它。 www.genericframe.com – user248810 2010-03-12 06:30:51

回答

0

的一個問題,我可以看到的是你使用$ [0]值的兩倍,對於 「dataField屬性」,也爲 「寬」:

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

它不應該是這樣的:

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

Thansk!就是這個! (我不能投票 - 至少需要10個聲望) – user248810 2010-03-12 06:28:58