2008-09-22 2 views
2

У меня есть AdvancedDataGrid с GroupingCollection и SummaryRow. Как отобразить итоговые данные строки жирным шрифтом? Ниже мой код:Flex 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

Вы получили ответ, который искали? – 2009-01-30 12:31:22

+0

Да! Извините за задержку - у меня не было возможности вернуться к этому проекту ... – 2009-01-30 15:19:30

ответ

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

Если у него есть дети, это должна быть сводная строка. Я не уверен, что это правильный путь цитаты/unquote, но он работает, по крайней мере, в моих целях.

НТН

0

Если я правильно понял the documentation, вы должны быть в состоянии сделать это, указав средства визуализации элементов в rendererProviders собственности, а также ссылки резюме к rendererProvider с использованием фиктивного имени DataField.

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

Я хотел форматировать только моя группировка подал, поэтому я поставил styleFunction на моем ADG, то в моем styleCallback() метод, который я проверил на части данных, которая существует в моих суб строк , но не существует в заголовке моей группы.

К примеру у меня есть Основные заголовки, как мои группы, а затем строки данных с небольшими заголовками и описания, и т.д. Так что в моей функции я проверить:

если (данные [ «MinorHeading»] == нуль) return {color: 0xFF0000, backgroundColor: 0xFFF552, fontWeight: 'bold'};

Таким образом, только мои заголовки групп отформатированы красным и полужирным шрифтом.
FYI, стиль backgroundColor не применяется (я предполагаю, что для этого понадобится сплошной цвет Graphic Renderer)

Смежные вопросы