我有一个带有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>
答案 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样式不适用(我假设我需要一个纯色图形渲染器才能这样做)