如何在spark GridColumn上添加wordWrap

Fle*_*460 5 apache-flex mxml actionscript-3 flash-builder

今天,我决定测试spark datagrid而不是mx:Datatagrid.但是出现了一个问题:我没有找到wordWrap选项,你知道如何解决这个问题吗?

<s:DataGrid id="scrollableDG" borderVisible="true"  editable="true"
                     width="100%" height="{bgSuivi.height-90-90}">

 //Setup columns for scrollable datagrid
    var gridColumn:GridColumn = new GridColumn();
    gridColumn.dataField="scRub2";
    gridColumn.headerText = "Rub1";
    gridColumn.width = 80;
    gridColumn.editable = true;
    columnLst.addItem(gridColumn);

    var gridColumn:GridColumn = new GridColumn();
    gridColumn.dataField="scRub3";
    gridColumn.headerText = "Rub1";
    gridColumn.width = 80;
    gridColumn.editable = true;
    columnLst.addItem(gridColumn);

    var gridColumn:GridColumn = new GridColumn();
    gridColumn.dataField="scRub4";
    gridColumn.headerText = "Rub1";
    gridColumn.width = 80;
    gridColumn.editable = true;
    columnLst.addItem(gridColumn);
    scrollableDG.columns = columnLst;
Run Code Online (Sandbox Code Playgroud)

谢谢

1.2*_*tts 8

原始海报没有选择答案我将前两个合并为一个超级答案!:P

您可以使用variableRowHeight在Spark DataGrid上的所有列上启用自动换行:

<s:DataGrid variableRowHeight="true">
</s:DataGrid>
Run Code Online (Sandbox Code Playgroud)

或者,您可以使用默认GridColumn项呈示器上的自动换行属性在单个列上启用自动换行:

<s:GridColumn dataField="fields.description" headerText="Description" >
    <s:itemRenderer>
        <fx:Component>
            <s:DefaultGridItemRenderer wordWrap="true"/>
        </fx:Component>
    </s:itemRenderer>
</s:GridColumn>
Run Code Online (Sandbox Code Playgroud)

此外,在Grid Column示例中,如果要防止水平滚动条,我建议设置宽度:

<s:GridColumn width="{dataGrid.width-column1.width-column3.width}" dataField="fields.description" headerText="Description" >
    <s:itemRenderer>
        <fx:Component>
            <s:DefaultGridItemRenderer wordWrap="true"/>
        </fx:Component>
    </s:itemRenderer>
</s:GridColumn>
Run Code Online (Sandbox Code Playgroud)

我发现我必须将变量行高设置为true并设置列宽以获得我正在寻找的行为.


Sun*_* D. 0

[编辑]

哎呀,我原来的答案是指 MXDataGridColumn组件,而不是 Spark GridColumn。修改后的答案...

网格的默认项目渲染器是DataGridItemRenderer,它有一个自动换行属性,您需要将其设置为 true。不确定,但您可能还必须将variableRowHeight网格的属性设置为 true ......

要在 MXML 中执行此操作,它看起来像这样:

<s:DataGrid variableRowHeight="true">
    <s:itemRenderer>
        <fx:Component>
            <s:DataGridItemRenderer wordWrap="true" />
        </fx:Component>
    </s:itemRenderer>
</s:DataGrid>
Run Code Online (Sandbox Code Playgroud)