DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作

原文:DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作

这节,我们将通过使用DevExpress的ASPxGridView控件,实现对数据的CRUD操作。

首先,我们在解决方案中,添加一个网站:

                                                                     图一 添加新网站

                              图二 添加DevExpress.Data.v12.2.dll,DevExpress.Xpo.v12.2.dll,以及XPOModel的引用

                                                          图三 从工具栏拖放ASPxGridView与XpoDataSource

                               图四 设置XpoDataSource的类型名称 TypeName,先选择控件,右键-属性(或点击右上角小箭头)

          图五 点击TypeName属性下拉选择

                           图六 选这XPOModel.DemoDB.Users

                                      图七 选择ASPxGridView,右键属性(或点击右上角箭头),打开任务属性设置

                                                   图八 选择DataSource,设置主题,设置分页,可编辑、新增,删除

经过上述设置,Html代码也发生变化,如下:

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>

<%@ Register Assembly="DevExpress.Xpo.v12.2.Web, Version=12.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Xpo" TagPrefix="dx" %>

<%@ Register Assembly="DevExpress.Web.v12.2, Version=12.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" Namespace="DevExpress.Web.ASPxGridView" TagPrefix="dx" %>

<%@ Register assembly="DevExpress.Web.v12.2, Version=12.2.4.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a" namespace="DevExpress.Web.ASPxEditors" tagprefix="dx" %>

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title></title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
        <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="XpoDataSource1" KeyFieldName="UserID" Theme="Aqua">
            <Columns>
                <dx:GridViewCommandColumn VisibleIndex="0">
                    <EditButton Visible="True">
                    </EditButton>
                    <NewButton Visible="True">
                    </NewButton>
                    <DeleteButton Visible="True">
                    </DeleteButton>
                </dx:GridViewCommandColumn>
                <dx:GridViewDataTextColumn FieldName="UserID" ReadOnly="True" VisibleIndex="1">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="UserName" VisibleIndex="2">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="FirstName" VisibleIndex="3">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="LastName" VisibleIndex="4">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="MiddleName" VisibleIndex="5">
                </dx:GridViewDataTextColumn>
                <dx:GridViewDataTextColumn FieldName="EmailID" VisibleIndex="6">
                </dx:GridViewDataTextColumn>
            </Columns>
        </dx:ASPxGridView>
    </div>
        <dx:XpoDataSource ID="XpoDataSource1" runat="server" TypeName="XPOModel.DemoDB.Users"></dx:XpoDataSource>
    </form>
</body>
</html>

 

经过上述设置,主题并未生效,需要添加DevExpress.Web.v12.2.dll的引用

    图九 添加DevExpress.Web引用

此时点击Default.aspx进行浏览,打开的却是报错界面

                                         图十 默认数据库未能生成,报错(如果上述目录不存在,就会产生该错误)

这时,我们通过上面章节已经学习的方法,将Session与数据层绑定。

在Web.config中添加数据库连接的配置节

  <connectionStrings>
    <add name="ConnectionString" connectionString="Data Source=.;Initial Catalog=DemoDB;user id=demo;password=demo;Integrated Security=false" providerName="System.Data.SqlClient" />
  </connectionStrings>

 修改Default.aspx.cs代码,将Session建立到数据层的绑定,并且设置XpoDataSource的Session

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Configuration;
using DevExpress.Xpo;
using DevExpress.Xpo.DB;
public partial class _Default : System.Web.UI.Page
{
    protected void Page_Init(object sender, EventArgs e)
    {
        string provider = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;//获取数据库连接
        IDataLayer datalayer = new SimpleDataLayer(XpoDefault.GetConnectionProvider(provider, AutoCreateOption.DatabaseAndSchema));//建立数据层XPO独有的
        DevExpress.Xpo.Session session = new DevExpress.Xpo.Session(datalayer); //将数据层和会话绑定
        XpoDataSource1.Session = session;
    }

    protected void Page_Load(object sender, EventArgs e)
    {

    }
}

 选择Default.aspx页面,右键-在浏览器中查看

                                                         图十一 数据绑定

                                           图十二 点击Edit(编辑)

编辑完成后,点击Update(更新),完成对数据行的修改。

                            图十三 点埚New(新增),打开新新操作视图

同理,点击Delete,将执行数据行的删除操作,但是这个删除,没有提醒,我们可以增加行为。

 <SettingsBehavior ConfirmDelete="true" />

<SettingsText ConfirmDelete="确定删除吗?" />

            <dx:ASPxGridView ID="ASPxGridView1" runat="server" AutoGenerateColumns="False" DataSourceID="XpoDataSource1" KeyFieldName="UserID" Theme="Aqua">
                <Columns>
                    <dx:GridViewCommandColumn VisibleIndex="0">
                        <EditButton Visible="True">
                        </EditButton>
                        <NewButton Visible="True">
                        </NewButton>
                        <DeleteButton Visible="True">
                        </DeleteButton>
                    </dx:GridViewCommandColumn>
                    <dx:GridViewDataTextColumn FieldName="UserID" ReadOnly="True" VisibleIndex="1">
                    </dx:GridViewDataTextColumn>
                    <dx:GridViewDataTextColumn FieldName="UserName" VisibleIndex="2">
                    </dx:GridViewDataTextColumn>
                    <dx:GridViewDataTextColumn FieldName="FirstName" VisibleIndex="3">
                    </dx:GridViewDataTextColumn>
                    <dx:GridViewDataTextColumn FieldName="LastName" VisibleIndex="4">
                    </dx:GridViewDataTextColumn>
                    <dx:GridViewDataTextColumn FieldName="MiddleName" VisibleIndex="5">
                    </dx:GridViewDataTextColumn>
                    <dx:GridViewDataTextColumn FieldName="EmailID" VisibleIndex="6">
                    </dx:GridViewDataTextColumn>
                </Columns>
                <SettingsBehavior ConfirmDelete="true"  />
                <SettingsText ConfirmDelete="确定删除吗?" />
            </dx:ASPxGridView>

 再次点击Delete时,会弹出提示对话框,点击确定后,执行删除操作。

                                          图十四 删除确认对话框

至此,没有添加多余的代码,已经完全由ASPxGridView自身,完成了对数据库表的CRUD操作。

 

时间: 2024-11-08 17:15:57

DevExpress ASP.NET 使用经验谈(5)-通过ASPxGridView实现CRUD操作的相关文章

DevExpress ASP.NET 使用经验谈(1)-XPO模型的创建

原文:DevExpress ASP.NET 使用经验谈(1)-XPO模型的创建 这个系列通过一些简单例子循序渐进,介绍DevExpress ASP.NET控件的使用.先来介绍一下XPO的使用,安装的DevExpress版本为DXperienceUniversal-12.2.4,使用Visual Studio 2012+Sql Server2005. 什么是XPO? XPO 是 eXpress Persistent Objects的缩写,它是DevExpress公司推出的一个运行在.NETFram

DevExpress ASP.NET 使用经验谈(4)-CriteriaOperator的使用

原文:DevExpress ASP.NET 使用经验谈(4)-CriteriaOperator的使用 上一节中,我们已经介绍了,使用CriteriaOperator表达式,获取对象数据. CriteriaOperator criteria = CriteriaOperator.Parse("[UserID]='" + obj.UserID + "'"); Users objnew = session.FindObject<Users>(criteria)

DevExpress ASP.NET 使用经验谈(2)-XPO对象的使用(使用默认数据连接)

原文:DevExpress ASP.NET 使用经验谈(2)-XPO对象的使用(使用默认数据连接) 接下来,我们通过一个控制台应用程序,介绍XPO对象的保存操作.                                               图一 添加新项目                                                     图二 选择项目类型为控制台应用程序 查看生成的Program.cs代码文件,代码如下: using System; usi

DevExpress ASP.NET 使用经验谈(3)-XPO对象的使用(使用指定数据连接)

原文:DevExpress ASP.NET 使用经验谈(3)-XPO对象的使用(使用指定数据连接) 首先,我们贴出上一节Users类XPO对象的保存代码,直接建立的XPO Session会话,因为没有与我们所期望的数据层建立绑定, 所以程序自动创建了一个Access数据库,作为默认数据库操作对象来使用,即程序目录下的DevConsole.vshost.mdb数据库文件. using System; using System.Collections.Generic; using System.Li

ASP.NET对IIS中的虚拟目录进行操作

asp.net|iis|虚拟目录 ASP.NET对IIS中的虚拟目录进行操作 //假如虚拟目录名为"Webtest",先在项目中引用 //System.DirectoryServices.dll,再 using System.DirectoryServices; protected System.DirectoryServices.DirectoryEntry dirroot; 1.添加新的虚拟目录 DirectoryEntry newVirDir = dirroot.Children

通过Knockout.js + ASP.NET Web API构建一个简单的CRUD应用

较之面向最终消费者的网站,企业级Web应用对用户体验的要求要低一些.不过客户对"用户体验"的要求是"与日俱增"的,很多被"惯坏了"的用户已经不能忍受Postback带来的页面刷新,所以Ajax在企业级Web应用中得到了广泛的应用.企业级Web应用的一个特点是以"数据处理"为主,所以"面向绑定"的Knockout.js 是一个不错的选择.ASP.NET Web API,作为.NET平台最好的REST服务开发平

xml dtd-目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作。

问题描述 目的:使用java或C#或JSP或ASP等完成对xml文件的增删改操作. XML SPY和相关的环境 实验内容自己设计一个小型系统,要求数据存在XML文件中.使用java或C#或JSP或ASP等完成对xml文件的增删改操作.要求有用户操作的界面. (如通讯录管理系统.日志管理系统.班级管理系统等)实验步骤 使用dtd或schema完成所要设计系统的数据设计,并生成相应的xml存储文档.使用高级语言编写系统代码,完成对xml文档的操作 解决方案 有做好的例子吗?能发给我一份吗?谢谢谢谢.

【ASP.NET Web API教程】2.1 创建支持CRUD操作的Web API

原文 [ASP.NET Web API教程]2.1 创建支持CRUD操作的Web API 2.1 Creating a Web API that Supports CRUD Operations2.1 创建支持CRUD操作的Web API By Mike Wasson | January 28, 2012作者:Mike Wasson | 日期:2012-1-28 本文引自:http://www.asp.net/web-api/overview/creating-web-apis/creating

Asp.Net Web API 2第二课——CRUD操作

原文:Asp.Net Web API 2第二课--CRUD操作 Asp.Net Web API 导航   Asp.Net Web API第一课--入门http://www.cnblogs.com/aehyok/p/3432158.html 前言 CRUD代表着 Create.Read.Update.Delete,这是四个基本的数据库操作.许多HTTP服务模型也通过Rest或者Rest-like APIs实现CRUD操作.       在本教程中,我将建立一个非常简单的Web API来管理一个产品