您好,登錄后才能下訂單哦!
這篇文章主要講解了“如何實現Flex數據分頁查詢”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“如何實現Flex數據分頁查詢”吧!
首先看下Flex數據分頁查詢需要的應用效果<!--[if !vml]-->
<!--[endif]-->
實際功能包括對Customer進行條件和Flex數據分頁查詢,客戶相關國家數據查詢。
<!--[if !supportLists]-->l <!--[endif]-->服務端功能處理 <!--[if !supportLists]-->u <!--[endif]-->根據邏輯定義相關數據操作實體類 [Table("Customers")] interface ICustomer { [ID] string CustomerID { get; set; } [Column] string CompanyName { get; set; } [Column] string ContactName { get; set; } [Column] string ContactTitle { get; set; } [Column] string Address { get; set; } [Column] string City { get; set; } [Column] string Region { get; set; } [Column] string PostalCode { get; set; } [Column] string Country { get; set; } [Column] string Phone { get; set; } [Column] string Fax { get; set; } } [Table("Customers",DISTINCT=true)] interface ICountry { [Column("Country")] string Name { get; set; } } <!--[if !supportLists]-->u <!--[endif]-->定義邏輯方法 [Service] public class CustomerService { public IList<Customer> List(string matchCompanyName,string country, [Output]DataPage datapage) { Expression exp = new Expression(); if (!string.IsNullOrEmpty(matchCompanyName)) exp &= Customer.contactName.Match(matchCompanyName); if (!string.IsNullOrEmpty(country)) exp &= Customer.country == country; datapage.RecordCount = exp.Count<Customer>(); return exp.List<Customer>(new Region(datapage.PageIndex,datapage.PageSize)); } public IList<Country> ListCountry() { Expression exp = new Expression(); return exp.List<Country>(); } } <!--[if !supportLists]-->l <!--[endif]-->Flex功能處理 <!--[if !supportLists]-->u <!--[endif]-->定義AS邏輯代理方法 import Core.Utility; /** * Action Script調用方法生成工具1.0 生成時間:2009-7-27 21:39:39 */ public dynamic class CustomerService_List { public var Callback:Function; public var matchCompanyName:Object; public var country:Object; public var PageIndex:Object; public var PageSize:Object; public var RecordCount:Object; public var PageCount:Object; public var OrderField:Object; public function Execute(method:String="get"):void { this._TimeSlice = new Date(); Utility.CallMethod("CustomerService_List",this,Callback,method); } } import Core.Utility; /** * Action Script調用方法生成工具1.0 生成時間:2009-7-27 21:39:43 */ public dynamic class CustomerService_ListCountry { public var Callback:Function; public function Execute(method:String="get"):void { this._TimeSlice = new Date(); Utility.CallMethod("CustomerService_ListCountry",this,Callback,method); } } <!--[if !supportLists]-->u <!--[endif]-->在界面定義邏輯操作對象 <mx:Script> <![CDATA[ [Bindable] private var Customers:Object = new ArrayCollection(); [Bindable] private var Countrys:Object = new ArrayCollection(); private var getCustomer = new CustomerService_List(); private var getCountry = new CustomerService_ListCountry(); ]]> mx:Script> <!--[if !supportLists]-->u <!--[endif]-->設置國家Combox數據源綁定 <mx:ComboBox id="txtCountry" dataProvider="{Countrys}" labelField="Name" editable="true" width="135" color="#000000">mx:ComboBox> <!--[if !supportLists]-->u <!--[endif]-->設置客戶查詢數據源綁定 <mx:DataGrid dataProvider="{Customers}" width="100%" height="100%"> <mx:columns> <mx:DataGridColumn headerText="CustomerID" dataField="CustomerID"/> <mx:DataGridColumn headerText="CompanyName" dataField="CompanyName"/> <mx:DataGridColumn headerText="ContactName" dataField="ContactName"/> <mx:DataGridColumn headerText="ContactTitle" dataField="ContactTitle"/> <mx:DataGridColumn headerText="Address" dataField="Address"/> <mx:DataGridColumn headerText="City" dataField="City"/> <mx:DataGridColumn headerText="Region" dataField="Region"/> <mx:DataGridColumn headerText="PostalCode" dataField="PostalCode"/> <mx:DataGridColumn headerText="Country" dataField="Country"/> <mx:DataGridColumn headerText="Phone" dataField="Phone"/> <mx:DataGridColumn headerText="Fax" dataField="Fax"/> mx:columns> mx:DataGrid> <!--[if !supportLists]-->u <!--[endif]-->在界面初始化事件中定義相關方法加調處理 <mx:initialize> <![CDATA[ getCountry.Callback= function(result:XML,err:Boolean){ Countrys= result.Data.Country; }; getCustomer.Callback = function(result:XML,err:Boolean){ Customers = result.Data.Customer; if(getCustomer.FristSearch) { dp.Open(getCustomer.PageSize ,result.Properties.datapage.RecordCount) } }; getCustomer.PageSize=10; getCustomer.FristSearch = true; getCountry.Execute(); getCustomer.Execute(); ]]> mx:initialize> <!--[if !supportLists]-->u <!--[endif]-->查詢按鈕相關功能處理 <mx:Button label="Search" icon="@Embed(source='Search.png')"> <mx:click> <![CDATA[ getCustomer.FristSearch = true; getCustomer.matchCompanyName = txtCompanyName.text; getCustomer.country = txtCountry.text; getCustomer.PageIndex =0; getCustomer.Execute(); ]]> mx:click> mx:Button>
其實Flex做應用開發效率還是挺高的,特別當你熟了MXML后基于不用在UI設計器和MXML間切換所帶來的麻煩。由于Flex直接支持CSS文件來描述,所以在開發過程基本不用管樣式,到***把設計人員搞好的CSS直接引用到Application里即可。順便推薦一個Flex的樣式主題站http://www.scalenine.com/gallery/ 提供一些免費的主題。Flex數據分頁查詢最終實現。
感謝各位的閱讀,以上就是“如何實現Flex數據分頁查詢”的內容了,經過本文的學習后,相信大家對如何實現Flex數據分頁查詢這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。