Flex AdvancedDataGrid:如何设置摘要行的样式?

时间:2008-09-22 05:51:33

标签: flex

我有一个带有GroupingCollection和SummaryRow的AdvancedDataGrid。如何以粗体显示摘要行数据?以下是我的代码:

<mx:AdvancedDataGrid width="100%" height="100%" id="adg" defaultLeafIcon="{null}"  > 
    <mx:dataProvider>
        <mx:GroupingCollection id="gc" source="{dataProvider}">
            <mx:Grouping>
                <mx:GroupingField name="bankType">
                    <mx:summaries>
                      <mx:SummaryRow summaryPlacement="group" id="summaryRow">
                        <mx:fields>
                            <mx:SummaryField dataField="t0" 
                                label="t0" operation="SUM" />
                        </mx:fields>
                      </mx:SummaryRow>
                    </mx:summaries>                    
                </mx:GroupingField>
            </mx:Grouping>
        </mx:GroupingCollection>
    </mx:dataProvider>
                  <mx:columns>
        <mx:AdvancedDataGridColumn dataField="GroupLabel" 
            headerText=""/>
        <mx:AdvancedDataGridColumn dataField="name" 
            headerText="Bank" />
        <mx:AdvancedDataGridColumn dataField="t0"
            headerText="Amount" formatter="{formatter}"/>
    </mx:columns>            

</mx:AdvancedDataGrid>    

5 个答案:

答案 0 :(得分:3)

过去当我需要这样做时,我必须在我的样式函数中设置一个条件来尝试确定它是否是摘要行。

public function dataGrid_styleFunction (data:Object, column:AdvancedDataGridColumn) : Object  
{  
      var output:Object;  

      if ( data.children != null )  
      {  
          output = {color:0x081EA6, fontWeight:"bold", fontSize:14}  
      }  


      return output;  
  }  

如果有孩子,则应该是摘要行。我不确定这是否是引用/取消引用正确的方法,但它确实有效,至少在我的用途中。

HTH

答案 1 :(得分:0)

如果我已正确理解the documentation,您应该可以通过在rendererProviders属性中指定项呈示器,并使用虚拟dataField名称将摘要链接到rendererProvider来实现此目的。 / p>

答案 2 :(得分:0)

答案 3 :(得分:0)

 private function styleCallback(data:Object, col:AdvancedDataGridColumn):Object
      {
         if (data["city"] == citySel) 
            return {color:0xFF0000,backgroundColor:0xFFF552,
            fontWeight:'bold',fontStyle:'italic'}; 

         // Return null if the Artist name does not match.
         return null;      
      }

答案 4 :(得分:0)

我想格式化我的分组字段,所以我在我的ADG上设置了styleFunction,然后在我的styleCallback()方法中,我检查了一些存在于子行中的数据,但在我的组中不存在标题。

例如,我将主要标题作为我的组,然后是带有次要标题和描述等的数据行。所以在我的函数中,我检查:

if(data [“MinorHeading”] == null)返回{color:0xFF0000,backgroundColor:0xFFF552,fontWeight:'bold'};

这样只有我的小组标题才会格式化为红色和粗体 仅供参考,backgroundColor样式不适用(我假设我需要一个纯色图形渲染器才能这样做)