Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > Flex

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.12.2009, 15:47
VovkaMorkovka1 вне форума Посмотреть профиль Отправить личное сообщение для VovkaMorkovka1 Посетить домашнюю страницу VovkaMorkovka1 Найти все сообщения от VovkaMorkovka1
  № 1  
Ответить с цитированием
VovkaMorkovka1

Регистрация: Nov 2008
Сообщений: 205
По умолчанию Как объединить строку в AdvancedDataGrid

Всем привет нужно в AdvancedDataGrid показывать строку в зависимости от содержимого датапровайдера в виде одной ячейки. Т.е. идёт несколько строк как обычно, потом одна сплошная и опять несколько строк.

Данные будут подгружаться в таблицу динамически, поэтому решение "итемрендерер - таблица" не подходит, группировка тоже.

Т.е. нужен какой - то вариант с использованием AdvancedDataGridRendererProvider

Пробовал с иерархической структурой, но начальству не нравится расхлопывающиеся итемы

Может кто - то подскажет как это провернуть?


Другими словами есть сниппет приведённый ниже, нужно менять columnSpan в зависимости от содержимого строки

Код AS3:
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml">
    <mx:Script>
    <![CDATA[
        import mx.collections.ArrayCollection;
        import mx.events.FlexEvent;
 
        [Bindable]
        private var dataC:ArrayCollection = new ArrayCollection([
            {
                summary:"sum1"
            },
            {
                type:"Discovery3",
                value:11
            },
            {
                type:"Discovery2",
                value:11
 
 
            },
            {
                type:"Discovery2",
                value:11
 
 
            },
            {
                summary:"sum3"
            },
 
        ]);
 
 
                    function dataChangeEvent(event:FlexEvent):void
                    {
                        if (data.hasOwnProperty(name))
                        {
                            summaryRendererProvider.columnIndex = 2
                            summaryRendererProvider.columnSpan = 1;
 
                        }else{
                            summaryRendererProvider.columnIndex = 0
                            summaryRendererProvider.columnSpan = 0;
                        }
                    }
    ]]>
  </mx:Script>
    <mx:Panel title="Blah-Blah"
              height="75%" width="75%" layout="horizontal"
              paddingTop="10" paddingBottom="10" paddingLeft="10" paddingRight="10">
        <mx:AdvancedDataGrid id="myADG"
                             width="100%" height="100%"
                             variableRowHeight="true" dataProvider="{dataC}">
 
            <mx:columns>
                <mx:AdvancedDataGridColumn dataField="type" headerText="type"/>
                <mx:AdvancedDataGridColumn dataField="value" headerText="value"/>
                <mx:AdvancedDataGridColumn dataField="summary" headerText="summary"/>
            </mx:columns>
 
            <mx:rendererProviders>
 
                <mx:AdvancedDataGridRendererProvider
                        dataField="summary"
 
                       id="summaryRendererProvider" >
 
 
                    <mx:renderer >
 
                        <mx:Component>
 
                            <mx:Label height="30" text="{data.summary}" textAlign="center" />
                        </mx:Component>
                    </mx:renderer>
                </mx:AdvancedDataGridRendererProvider>
            </mx:rendererProviders>
        </mx:AdvancedDataGrid>
    </mx:Panel>
</mx:Application>


Последний раз редактировалось VovkaMorkovka1; 02.12.2009 в 16:57.
Создать новую тему Ответ Часовой пояс GMT +4, время: 00:53.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 00:53.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.