2

mx: datagrid 列で行ったように、列にパーセント幅を適用したいと思います。

私はいくつかのテストを試みます:

<s:DataGrid id="dgTuVous" fontWeight="normal" 
                                        dataProvider="{DP_PRAT_INIT}"
                                        width="100%" height="100%" 
                                        horizontalScrollPolicy="on"
                                        fontSize="10"

                                        >
                                <s:columns>
                                    <s:ArrayList>
                                        <s:GridColumn dataField="prInitiales" width="40%" headerText="Prat" />
                                        <s:GridColumn  width="60%" dataField="prTuVous"
                                                      headerText="Tu/Vous">
                                            <s:itemEditor>
                                                <fx:Component>
                                                    <s:ComboBoxGridItemEditor>
                                                        <s:dataProvider>
                                                            <s:ArrayList>

                                                                <fx:String>Tu</fx:String>
                                                                <fx:String>Vous</fx:String>
                                                            </s:ArrayList>
                                                        </s:dataProvider>
                                                    </s:ComboBoxGridItemEditor>
                                                </fx:Component>
                                            </s:itemEditor>
                                        </s:GridColumn>

                                    </s:ArrayList>
                                </s:columns>
                            </s:DataGrid>

<s:DataGrid id="dgTuVous" fontWeight="normal" 
                                        dataProvider="{DP_PRAT_INIT}"
                                        width="100%" height="100%" 
                                        horizontalScrollPolicy="on"
                                        fontSize="10"

                                        >
                                <s:columns>
                                    <s:ArrayList>
                                        <s:GridColumn dataField="prInitiales" width=".4" headerText="Prat" />
                                        <s:GridColumn  width=".6" dataField="prTuVous"
                                                      headerText="Tu/Vous">
                                            <s:itemEditor>
                                                <fx:Component>
                                                    <s:ComboBoxGridItemEditor>
                                                        <s:dataProvider>
                                                            <s:ArrayList>

                                                                <fx:String>Tu</fx:String>
                                                                <fx:String>Vous</fx:String>
                                                            </s:ArrayList>
                                                        </s:dataProvider>
                                                    </s:ComboBoxGridItemEditor>
                                                </fx:Component>
                                            </s:itemEditor>
                                        </s:GridColumn>

                                    </s:ArrayList>
                                </s:columns>
                            </s:DataGrid>

しかし、どれもうまくいきます。

最初の例ではフレックス エラーが作成され、2 番目の例では最初の列が非表示になります。

助けてくれてありがとう。

4

1 に答える 1

6

実際には GridColumn 内でパーセンテージ値を使用することはできませんが、データ バインディングを使用して、次のように DataGrid の幅に基づいて列の幅を動的に計算できます。

<s:DataGrid id="_dg" width="500">
    <s:columns>
        <s:ArrayList>
            <s:GridColumn width="{this._dg.width * 0.1}" headerText="Col 1" />
            <s:GridColumn width="{this._dg.width * 0.2}" headerText="Col 2" />
            <s:GridColumn width="{this._dg.width * 0.3}" headerText="Col 3" />
            <s:GridColumn headerText="Col 4" />
        </s:ArrayList>
    </s:columns>
</s:DataGrid>

乾杯ビッカー

于 2012-05-23T04:17:47.973 に答える