XAF应用开发教程(一) 创建项目
XAF是DevExpress公司的快速开发框架,全称eXpress Application Framework,是企业信息系统的开发利器,快速开发效果显著,在.net框架中,笔者至今没有找到一款可以与之比较的产品。下面以应用为中心,讲述如何应用XAF。
下载与安装,如果你已经安装好了sqlserver和visual studio,请至http://www.devexpress.com 下载试用版,安装完成后即可体验。
我使用的是vs2015+sqlserver 2014(与vs内置一起的)。
一、XAF有哪些优点呢?
1,Web项目(b/s)
2,win项目(c/s)
3,平板电脑(beta)
4,移动端(beta)
上述4种项目一次编码,同时生成。其中web/win是两个项目,3,4都是web项目,只是使用了不同的适应界面可以在移动设备和平板电脑上进行浏览操作等。
二、14种数据库支持
可以支持所有常见数据库,如Oracle,MySQL,SqlServer,Access,DB2等等 ,切换数据库无需修改编码。
三、内置模块丰富,涉及到开发中的方方面面,如权限系统、报表系统、数据分析、图表、验证模块、外观模块,等等 。
下面演示一个简单CRM系统中的部分内容。
四、新建项目:
打开VS后,依次选择 文件->新建->项目 后,出现如下画面,展开Visual C#->DevExpress XAF->DevExpress v15.1 XAF Solution Wizard.

在名称中输入一个自己取的项目名称,我输入的是XCRMDemo.并按确定。
出现如下画面:

这里是在询问我们,要创建windows项目还是web项目,通常我会都选中,默认的只有windows选中。点击next.
接下来会出现如下画面,是在询问我们要使用哪种ORM,用过Entity Framework的同学应该会感觉很熟悉有EF 的CodeFirst和ModelFirst可选。
我使用的是XPO,最后一项,为了学习XAF请选择最后一个,后面熟悉了,再用EF也是一样的。

然后出现的是权限模块相关的内容,第一个radio box组选择第二项。Standard(requests login and password)这一项是指开发好的程序需要用到用户名和密码进行登陆。
Active Directory(users windows account)这一项是和域身份绑定的,我一般不用这个。
Database Security选择第一项,Client-Side Security-UI-LevelMode。后面几项以后介绍。
当然,如果这里一开始做项目时没有选对,以后也是有机会可以修改的。

然后会出现选择需要用到的模块的选项。

本项目中只为演示,所以仅选择几个模块:



然后按Finish按钮,项目就开始创建了。
项目创建完成后,我们可以直接按下F5看看XAF为我们创建了什么样的东西出来。

这时会出现这个登陆框,用户名输入 admin,没有密码,按下log on按钮。

可以看到有导航菜单,工具菜单,还有MyDetail的详细界面,当然,你可以点点看看,体会一下:D
好,接下来再看看自动创建web项目是什么样子的:

在解决方案资源管理器中,选中XCRMDEMO.Web,右键,找到“设为起动项目”,然后按下F5.出现如下界面:

同样的,用户名为admin,没有密码。按下logon按钮。进入系统。

好,创建项目完成了。下面我们来看看数据库情况:
1.数据库在哪里呢?
1.1web,找到XCRMDemo.Web中的web.config文件,可以看到如下配置节:
<connectionStrings>
<add name="EasyTestConnectionString" connectionString="Integrated Security=SSPI;Pooling=false;Data Source=(localdb)\mssqllocaldb;Initial Catalog=XCRMDemoEasyTest" />
<add name="ConnectionString" connectionString="Integrated Security=SSPI;Pooling=false;Data Source=(localdb)\mssqllocaldb;Initial Catalog=XCRMDemo" />
<!--
Use the following connection string to connect to a Jet (Microsoft Access) database that is already created and located in the <application root>/app_data folder.
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=|DataDirectory|\XCRMDemo.mdb;Mode=Share Deny None;"/>
If the database doesn't exist, it won't be created until you replace the |DataDirectory| substitution string with the fully qualified path to the database. For instance:
<add name="ConnectionString" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Password=;User ID=Admin;Data Source=C:\myDataFolder\XCRMDemo.mdb;Mode=Share Deny None;"/>
-->
</connectionStrings>
其中,ConnectionString是
Integrated Security=SSPI;Pooling=false;Data Source=(localdb)\mssqllocaldb;Initial Catalog=XCRMDemo 1.2win,找到XCRMDEMO.Win中的App.Config文件,同样会有上面的文字。
看看数据库:

可以看到,XAF程序自动为我们创建了数据库,不用纠结这些表是干什么的,慢慢的就明白了:D 下一节介绍简单的开发。 文章示例项目源码下载
QQ 4603528 QQ群:336090194
XAF应用开发教程(一) 创建项目的更多相关文章
- iOS 9应用开发教程之创建iOS 9项目与模拟器介绍
iOS 9应用开发教程之创建iOS 9项目与模拟器介绍 编写第一个iOS 9应用 本节将以一个iOS 9应用程序为例,为开发者讲解如何使用Xcode 7.0去创建项目,以及iOS模拟器的一些功能.编辑 ...
- (转)Ratchet教程:创建项目
原文:http://www.w3cplus.com/mobile/how-to-create-mobile-project-width-ratchet.html Ratchet教程:创建项目 ...
- MVC5 网站开发之二 创建项目
昨天对项目的思路大致理了一下,今天先把解决方案建立起来.整个解决包含Ninesky.Web.Ninesky.Core,Ninesky.DataLibrary等3个项目.Ninesky.Web是web应 ...
- 从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板
标题:从零开始实现ASP.NET Core MVC的插件式开发(二) - 如何创建项目模板 作者:Lamond Lu 地址:https://www.cnblogs.com/lwqlun/p/11155 ...
- node+vue进阶【课程学习系统项目实战详细讲解】打通前后端全栈开发(1):创建项目,完成登录功能
第一章 建议学习时间8小时·分两次学习 总项目预计10章 学习方式:详细阅读,并手动实现相关代码(如果没有node和vue基础,请学习前面的vue和node基础博客[共10章]) 视频教程地 ...
- XAF应用开发教程(七)外观控制模块
很多时候,我们需要按照不同的条件显示不同的效果,在传统的软件开发中,我们会直接使用 控件名称.BackColor,Enable,Visible等属性进行控制. 如果一个业务对象在多处使用,要么我们会去 ...
- App开发流程之创建项目和工程基本配置
我的开发环境为:Mac OS X EI Capitan(10.11.6),Xcode 7.3.1 首先说明一下这个项目的初衷,我并非要创建一个完整的上架应用,旨在创建一个可运行的,通用配置.架构,提供 ...
- XAF应用开发教程(六)控制器
是的,XAF也是MVC结构的,但不仅限于MVC,ViewModel也存在,它是一项复合技术,AOP,ORM,MVC都有. 真实运行的系统中,仅有增删改查功能肯定是远远不够的,ERP.CRM等系统的开发 ...
- XAF应用开发教程(四)应用程序模型
XAF是重量型框架,确实够重量的,方方面面都做得规规矩矩. 如果看了前面三节,可能会认为,这N多的Attribute到底都是从哪里来的?到底有多少这样的Attribute?如果不够用了怎么办?等着官方 ...
随机推荐
- 内存映射MMAP和DMA【转】
转自:http://blog.csdn.net/zhoudengqing/article/details/41654293 版权声明:本文为博主原创文章,未经博主允许不得转载. 这一章介绍Linux内 ...
- Linux workqueue工作原理 【转】
转自:http://blog.chinaunix.net/uid-21977330-id-3754719.html 转自:http://bgutech.blog.163.com/blog/static ...
- WEB前端常用网站收集
WEB前端常用网站收集整理 w3school.w3schools 前端里.脚本之家.素材家园 17素材.frontopen NEC更好的CSS方案.一些常用的JS实例 Bootstrap 官网 h ...
- 【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.7.Slider控件
默认slider的安装启用 为slider自定义风格 修改配置选项 创建一个垂直的slider 设置最大最小值,和默认值 启用多个 手柄 和 范围 slider内置的回调事件 slider的方法 这个 ...
- Hadoop之回收站
一.回收站简介: 在HDFS里,删除文件时,不会真正的删除,其实是放入回收站/trash,回收站里的文件可以快速恢复. 可以设置一个时间阀值,当回收站里文件的存放时间超过这个阀值或是回收站被清空时,文 ...
- ACM题目————士兵杀敌(四)
描述 南将军麾下有百万精兵,现已知共有M个士兵,编号为1~M,每次有任务的时候,总会有一批编号连在一起人请战(编号相近的 人经常在一块,相互之间比较熟悉),最终他们获得的军功,也将会平分到每个人身上, ...
- PHP判断键值数组是否存在,使用empty或isset或array_key_exists
<?php $a = array('a'=>1, 'b'=>0, 'c'=>NULL); echo 'a test by empty: ' , empty($a['a']) ...
- 如何在 Eclipse 中连接源码
1:首先在window 中 打开首选项(preferences) 找到如下java -- 已安装的JRE
- flash压力测试
涉及目录: vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt6735/src/drivers/inc/dram ...
- Javascript正则表达式笔记
一.字符类 将单独的直接字符放进[]内,就组成了字符类.一个字符类和它所包含的任何字符都匹配. 例如:/[abc]/ 与abc三个字母的任意一个匹配. 同时,还可以定义否定字符类.利用^字符.例如:/ ...