dinamik Izgara sütunlar

1 Cevap

Ben bir DataGrid dinamik sütunlar ile yardıma ihtiyacım var. Ben PHP arka uç ile GenericFrame ön uç kullanın.

Ben bu gibi statik sütunları kullanıyorsanız:

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

Bu iyi çalışıyor.

Ama PHP ile dinamik sütun oluşturmak için deneyin.

<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 doğru görüntülenir, ancak veri olmadan mi? Herhangi bir fikri neden?

1 Cevap

Görebildiğim tek sorun "dataField" ve aynı zamanda "width" için, [0] iki $ değerini kullanarak konum olduğunu:

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

Bu olmamalı:

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