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?如果不够用了怎么办?等着官方 ...
随机推荐
- tomcat缓存静态资源深入
之前看过apach及nginx对于静态资源(含js,图片,css等)部分的缓存,用于加速并减轻后台实际web服务器的压力. 静态资源缓存是WEB服务器优化的一种手段,基本原理如下: 1.客户端浏览器请 ...
- Linux终端乱码的解决办法
用SSH连接Linux时经常会遇到乱码的情况,痛苦了好久,在网上找到一个解决办法,编辑~/.bash_profile文件,加入下面两行: LANG="zh_CN.GB18030" ...
- Linux计划任务,自动删除n天前的旧文件【转】
转自:http://blog.csdn.net/jehoshaphat/article/details/51244237 转载地址:http://yaksayoo.blog.51cto.com/510 ...
- ctl 里面pdef解说
WRF 模式MM5 模式都是目前从网上可以下载的气象软件,因此在国内经常可以见到.但这两种模式的数据特点数据的水平网格都不是标准的经纬度网格.需要在ctl 文件中加入PDEF 定义说明把这种非标准的数 ...
- vm克隆虚拟机网络配置
*CentOS虚拟机网络连接方式为:桥接模式* 虚拟机克隆后会导致网络连接不上:(引起原因是新的MAC和网卡配置对应不上)问题解决(在克隆机里执行下列步骤): vi /etc/udev/rules.d ...
- PHP中关于 basename、dirname、pathinfo 详解
basename(url) 返回路径中的文件名部分. dirname(url) 返回路径中的目录名称部分. pathinfo(url) 返回关于文件路径的信息. bas ...
- JavaEE基础(二十五)/多线程、GUI
1.多线程(单例设计模式) 单例设计模式:保证类在内存中只有一个对象. 如何保证类在内存中只有一个对象呢? (1)控制类的创建,不让其他类来创建本类的对象.private (2)在本类中定义一个本类的 ...
- 只使用处理I/O的PrintDigit函数,编写一个过程以输出任意实数
#include <stdio.h> #include <stdlib.h> #include <math.h> int printDigit(int a) { p ...
- 使用sql创建表并添加注释
Create table T_ErrorLogTable_tb ( ELTID int identity(1,1) primary key,--编号 ELTTime date,--错误发生日期 ELT ...
- ascii转int,int在转回ascii原值
String str = "; int ascii = (int)str; String asciiStr = char(ascii);