Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   Flex (http://www.flasher.ru/forum/forumdisplay.php?f=84)
-   -   связь между 2 datagrid (с фильтром по одной из них в другой) (http://www.flasher.ru/forum/showthread.php?t=172690)

maytanet 15.12.2011 10:59

связь между 2 datagrid (с фильтром по одной из них в другой)
 
Здравствуйте , не подскажите как реализовать такую вещь . Имеется таблица с 5 колонками . На форме помещается 1 datagrid с отображением двух столбцов из таблицы , а во второй datagrid всю таблицу . Как реализовать фильтрацию (поиск) при наведение курсора на первую таблицу с отображением тех же данных во второй .

GBee 15.12.2011 20:46

Получать из датапровайдера первой таблицы нужный элемент. И фильтровать по нему датапровайдер второй таблицы.

maytanet 16.12.2011 22:13

оки спасибо)

maytanet 20.12.2011 00:13

не подскажите как на примере это сделать ....а то новичек пока что не понимаю....
Код AS1/AS2:

<?xml version="1.0" encoding="utf-8"?>
<!-- dpcontrols\sparkdpcontrols\SparkDGXMLSort.mxml -->
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009"
                          xmlns:s="library://ns.adobe.com/flex/spark"
                          xmlns:mx="library://ns.adobe.com/flex/mx"
                          width="500" height="600">
        <s:layout>
                <s:VerticalLayout paddingTop="10"/>
        </s:layout>
        <fx:Declarations>
                <fx:XMLList id="employees">
                        <employee>
                                <name>Joanne Wall</name>
                                <phone>555-219-2012</phone>
                                <email>jwall@fictitious.com</email>
                                <active>true</active>
                        </employee>
                        <employee>
                                <name>Mary Jones</name>
                                <phone>555-219-2000</phone>
                                <email>mjones@fictitious.com</email>
                                <active>true</active>
                        </employee>
                        <employee>
                                <name>mary jones</name>
                                <phone>555-219-2000</phone>
                                <email>mjones@fictitious.com</email>
                                <active>true</active>
                        </employee>
                        <employee>
                                <name>Maurice Smith</name>
                                <phone>555-219-2012</phone>
                                <email>maurice@fictitious.com</email>
                                <active>false</active>
                        </employee>
                        <employee>
                                <name>Dave Davis</name>
                                <phone>555-219-2000</phone>
                                <email>ddavis@fictitious.com</email>
                                <active>true</active>
                        </employee>
                        <employee>
                                <name>Tom Maple</name>
                                <phone>555-219-2000</phone>
                                <email>tmaple@fictitious.com</email>
                                <active>true</active>
                        </employee>
                </fx:XMLList>
                <s:XMLListCollection id="employees2" source="{employees}"/>
        </fx:Declarations>
        <fx:Script>
                <![CDATA[
                        import mx.events.DataGridEvent;
                        import mx.events.FlexEvent;
 
                        import spark.collections.Sort;
                        import spark.collections.SortField;
                        import spark.globalization.SortingCollator;
                        // Create an instance of the SortingCollator.
                        private var collator:SortingCollator = new SortingCollator();
                        // Define the sort compare function used by the first column.
                        private function sortCompareFunction(obj1:Object, obj2:Object, gc:GridColumn):int {
                                // Make the sort case insensitive. The default is case sensitive.
                                collator.ignoreCase = true;
                                return collator.compare(obj1[gc.dataField], obj2[gc.dataField]);
                        }
 
                ]]>
        </fx:Script>
        <s:Label text="Custom case insensitive sort of the Name colum"/>
        <s:DataGrid id="dg" width="500" dataProvider="{employees2}">
                <s:columns>
                        <s:ArrayList >
                                <s:GridColumn dataField="name" headerText="Name"
                                                          sortCompareFunction="sortCompareFunction"/>
                        </s:ArrayList>
                </s:columns>
        </s:DataGrid>
        <s:Label text="Default case sensitive sort of the Name colum"/>
 
        <s:DataGrid id="dg1" width="500" dataProvider="{employees2}" >
                <s:columns>
                        <s:ArrayList>
                                <s:GridColumn dataField="phone" headerText="Phone"/>
                                <s:GridColumn dataField="email" headerText="Email"/>
                        </s:ArrayList>
                </s:columns>
        </s:DataGrid>
</s:Application>


alatar 20.12.2011 11:27

Код:

<s:DataGrid id="dg" width="500" dataProvider="{employees2}">
        <s:columns>
                <s:ArrayList >
                        <s:GridColumn dataField="name" headerText="Name"
                                                  sortCompareFunction="sortCompareFunction"/>
                </s:ArrayList>
        </s:columns>
</s:DataGrid>
<s:Label text="Default case sensitive sort of the Name colum"/>

<s:DataGrid id="dg1" width="500" dataProvider="{dg.selectedItem}" >
        <s:columns>
                <s:ArrayList>
                        <s:GridColumn dataField="phone" headerText="Phone"/>
                        <s:GridColumn dataField="email" headerText="Email"/>
                </s:ArrayList>
        </s:columns>
</s:DataGrid>



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

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