如何在AdvancedDataGrid中将某些区域渲染到记录下方

时间:2011-02-02 16:47:09

标签: flex

在下面显示的AdvancedDataGrid中,我可以看到一个groupingField。

我希望能够点击一条记录(比如说26/01/2011 - Pag。),然后右下方有一些动作按钮。

我该怎么办?是否可以使用AdvancedDataGridRendererProvider?我试过这样做但没有得到预期的结果。

enter image description here

1 个答案:

答案 0 :(得分:2)

您需要定义自己的ItemRenderer,其中包含正常/点击的状态

示例:

<mx:AdvancedDataGridColumn headerText="Keyword" dataField="keyword">
        <mx:itemRenderer>
            <fx:Component>
                <mx:VBox width="100%" height="100%" 
                   click="this.currentState = (this.currentState=='normal')? 'clicked' : 'normal'">
                    <mx:states>
                            <s:State name="normal"/>
                            <s:State name="clicked" />
                    </mx:states>
                    <s:Label text="text" />
                    <s:Button label="Button" includeIn="clicked" />
                </mx:VBox>                      
            </fx:Component>
        </mx:itemRenderer>
</mx:AdvancedDataGridColumn>

当用户单击单元格时,组件将更改状态并呈现一些按钮。您可能必须在datagrid上调用invalidateSize()来重绘行。

从这里开始,您可以研究滚动自己的项目渲染器以及如何访问外部数据。这应该让你开始。希望它有所帮助!