原創|其它|編輯:郝浩|2012-12-05 15:42:30.000|閱讀 1697 次
概述:最新發布的DXperience 12.2可輕松創建各種Microsoft Office應用。本文將為你介紹如何運用DXperience 12.2創建漂亮的Win8界面風格的實時項目管理應用。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
DXperience又出新版本啦!最新發布的DXperience 12.2可輕松創建各種 Microsoft Office應用。下面我們就用DXperience 12.2一起創建一個漂亮的Win8界面風格的實時項目管理。我們將用到XtraScheduler的甘特圖視圖、Ribbon和數據網格。
首先定義數據庫框架,將Microsoft® SQL Server 作為我們的后端,用來存儲命令和任務。打開SQL Server Management Studio ,創建一個新的數據庫:"DXProjectManager"以及樹形表格:Appointments, Resources 和 TaskDependencies。示例代碼如下:
CREATE TABLE [dbo].[Appointments] ( [UniqueId] [int] IDENTITY (1, 1) NOT NULL , [Type] [int] NULL , [StartDate] [smalldatetime] NULL , [EndDate] [smalldatetime] NULL , [AllDay] [bit] NULL , [Subject] [nvarchar] (max) NULL , [Location] [nvarchar] (max) NULL , [Description] [nvarchar](max) NULL , [Status] [int] NULL , [Label] [int] NULL , [ResourceId] [int] NULL , [ResourceIds] [nvarchar](max) NULL , [ReminderInfo] [nvarchar](max) NULL , [RecurrenceInfo] [nvarchar](max) NULL , [PercentComplete] [int] NULL, [CustomField1] [nvarchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO CREATE TABLE [dbo].[Resources] ( [Id] [int] IDENTITY (1, 1) NOT NULL , [IdSort] [int] NULL , [ParentId] [int] NULL , [Description] [nvarchar] (max) NULL , [Color] [int] NULL , [Image] [image] NULL , [CustomField1] [nvarchar](max) NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO CREATE TABLE [dbo].[TaskDependencies]( [Id] [int] IDENTITY(1,1) NOT NULL, [ParentId] [int] NULL, [DependentId] [int] NULL, [Type] [int] NOT NULL, GO
下一步就是創建新的Visual Studio項目(DXperience 12.2 有許多現成的項目模板和向導可供使用),比如:
DXperience 12.2還提供了大量插件和現成的應用程序皮膚。我們可以從向導預定義皮膚或者讓用戶在運行時自己選擇喜歡的樣式。
Scheduler控件新增三個模板:
當你點擊Creat然后運行項目時,你將看到一個功能完整的日程/日歷應用。
你可以運用這個界面中的導航做各種操作,接下我們要做的事是將它綁定到之前建好的數據表格上。
點擊schedulerStorage組件上的Smart Tag,為Appointments添加Project Data Source,如圖:
然后選擇數據庫Database,下一步選擇Dataset,再下一步,輸入數據流名稱如"DXProjectManager",選中Tables: Appointments, Resources和 TaskDependencies。這樣新的數據集就導入了,所有的字段會自動根據命名規則進行探測并映射準確。
如果你右鍵單擊設計器,點擊View Code(或按下F7),會看到Form1_Load 事件處理程序,你將看到數據向導已經添加了代碼去填充我們的數據集:
private void Form1_Load(object sender, EventArgs e) { // TODO: This line of code loads data into the 'dXProjectManagerDataSet.Resources' table. // You can move, or remove it, as needed. resourcesTableAdapter.Fill(dXProjectManagerDataSet.Resources); // TODO: This line of code loads data into the 'dXProjectManagerDataSet.Appointments' table. // You can move, or remove it, as needed. appointmentsTableAdapter.Fill(dXProjectManagerDataSet.Appointments); }
想看看實際的效果?打開SSMS,添加兩行Resources table, 描述是 Deployment 和 Testing:
當你從Visual Studio啟動應用,你會看到兩個Resources: Deployment 和 Testing, 顯示在日程控件上:
要持續改變日程控件,需要處理schedulerStorage組件的以下事件:AppointmentsChanged, AppointmentsDeleted, AppointmentsInserted。
每個事件都可以用相同的代碼進行處理,代碼會顯示出潛在的表格適配器,保存數據集中的任何變化:
private void schedulerStorage_AppointmentsChanged(object sender, PersistentObjectsEventArgs e) { CommitTask(); } private void schedulerStorage_AppointmentsDeleted(object sender, PersistentObjectsEventArgs e) { CommitTask(); } private void schedulerStorage_AppointmentsInserted(object sender, PersistentObjectsEventArgs e) { CommitTask(); } private void CommitTask() { appointmentsTableAdapter.Update(dXProjectManagerDataSet); }
下面就是我們創建的Win8風格的日歷應用程序:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件