Filterung datagrid basiert auf Daten, die in Zeilen, Flex

Habe ich Suche alles über heute noch versucht zu finden, wie Sie dies tun, und nicht vertraut mit actionscript ausgehend, zu fangen, zu mir. Was möchte ich erreichen: ich habe eine Liste von Nachrichten in einem Datagrid aus einem Datenprovider in einer anderen Klasse, die wiederum bekommt Sie von unserem Oracle-DB. Ich muss zu alle dem Benutzer einen sichtbaren Status auf die Nachricht, und filter, aus dem datagrid mit dem Klick auf eine Schaltfläche. Ich habe das Kontrollkästchen ausblenden, und es setzt diesen Wert in die Datenbank. Ich kann nicht herausfinden, wie man die filteranzeige arbeiten mit einem array, collection, wenn der parameter "filter" in der Zeile Daten.

Hier ist der code

public function filterResults():void {

            modelLocator.notification.messageList.filterFunction = filterRows;

            modelLocator.notification.messageList.refresh(); 


        }

        public function filterRows(item:Object):Boolean {
            //return true if row should stay visible
            //return false if it should go away

             var i:int;

            if(showAll == false) {//checks whether this is coming from the hide or show all button
            //Somehow need to interrogate the row data to check if messageVisible is set to true or false

             /* if (showAll == false) {
                return false;
            }else {
                return true;
            }
            return false; */ 

        }
        public var showAll:Boolean;

        public function showAllMessages():void{

            showAll = true;
            filterResults();
        }
        public function hideMessages():void{
            showAll = false;
            filterResults();
        }


    ]]>
</mx:Script>

<mx:VBox>
    <component:EditMessage id="editMessage"  width="930" height="445"/>
    <mx:Panel id="messageListPanel" title="Message History" layout="vertical" width="930" height="196" horizontalAlign="left">

        <mx:DataGrid id="messageDataGrid" dataProvider="{modelLocator.notification.messageList}" 
                     width="910" height="139" enabled="true" mouseEnabled="true" editable="false"
                     rowCount="5" itemClick="{selectMessage()}">

            <mx:columns>
                <mx:DataGridColumn headerText="Date Created" labelFunction="formatCreateDate" width="60"/>
                <mx:DataGridColumn headerText="From" dataField="senderEmail" width="100"/>
                <mx:DataGridColumn headerText="Subject" dataField="subject" width="100"/>
                <mx:DataGridColumn headerText="Start Date" labelFunction="formatStartDate" width="60"/>
                <mx:DataGridColumn headerText="End Date" labelFunction="formatEndDate" width="60" />
                <mx:DataGridColumn headerText="Date Sent" labelFunction="formatSendDate" width="60" />
                <mx:DataGridColumn headerText="Sender Netid" dataField="senderNetId" width="50" />
                <mx:DataGridColumn headerText="Sender Name" dataField="senderName" width="80" />
                <mx:DataGridColumn headerText="Message" dataField="message" width="100" />
                <mx:DataGridColumn headerText="Message Id" dataField="id" width="10" />
            </mx:columns>
        </mx:DataGrid>              
    </mx:Panel>                 
</mx:VBox>
<mx:Button id="showMessagesBtn" x="786" y="452" label="Show All Messages" click="showAllMessages()"/>
<mx:Button id="hideMessagesBtn" x="665" y="452" label="Hide Messages" click="hideMessages()" />

Fand ich ein tutorial über das tun dies mit eingehende text hier http://franto.com/filter-results-in-datagrid-flex-tutorial/, aber kann nicht herausfinden, das oben erwähnte problem, das kann wirklich nicht so schwer sein, oder doch?

Dank,

Ian

Ihre filter-Funktion nicht true oder false zurück, basierend auf einem item-Eigenschaft. Sie filtern möchten Daten im dataProvider, das hat messageVisible auf true gesetzt?
Check out this link : iwobanas.com/2009/06/... . Ich finde es ziemlich genial, sowohl vom lernen Perspektive und als eine Komponente 🙂

InformationsquelleAutor idonaldson | 2012-03-23

Schreibe einen Kommentar