フレックスアドバンストデータグリッド:概要行のスタイルを設定するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/113349

  •  02-07-2019
  •  | 
  •  

質問

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>    
役に立ちましたか?

解決

以前は、これを行う必要がある場合、スタイル関数に条件を入力して、それが概要行であるかどうかを判断する必要がありました。

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

他のヒント

理解できたなら 文書 正しくは、アイテムレンダラーを指定することでこれを実行できるはずです。 rendererProviders プロパティを設定し、ダミーの dataField 名を使用して概要を rendererProvider にリンクします。

 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;      
      }

グループ化フィールドのみをフォーマットしたかったので、ADG で styleFunction を設定し、次に styleCallback() メソッドで、サブ行には存在するがグループ見出しには存在しないデータをチェックしました。

たとえば、グループとして大見出しがあり、次に小見出しや説明などを含むデータ行があります。したがって、私の関数では次のことをチェックします。

if (data["MinorHeading"] == null) return {color:0xFF0000,backgroundColor:0xFFF552,fontWeight:'bold'};

こうすることで、グループの見出しだけが赤と太字で書式設定されます。
参考までに、backgroundColor スタイルは適用されません (これを行うには単色のグラフィック レンダラーが必要だと思います)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top