使用Dev ASPxGridView对接后台数据访问层

来源:互联网 发布:淘宝店铺手机端 编辑:程序博客网 时间:2024/06/10 13:51

使用Dev ASPxGridView对接后台数据访问层

  默认ASPxGridView使用DataSource可以很方便,但SQL代码写在ASPX文件中,对于分层开发不力。所以尝试对接后台接口,然后通过自定义修改、插入、删除事件中调用后台接口来处理数据。对于动态绑定数据源,需要在ASPxGridView设计中先创建好要绑定的Column,并EnableEditing,EnableInserting,EnableDeleting

  慧都解决方案(为您提供贴近企业应用的方案)  HOOPS 3D Framework(3D框架功能集成)  Thebrain7思维导图革命时代  DevExpress中文网

using System; 
using System.Collections.Generic; 
using System.Data; 
using DevExpress.Web.ASPxGridView; 
using System.Web; 
.using System.Web.UI; 
using System.Web.UI.WebControls; 

public partial class Main : System.Web.UI.Page 

protected void Page_Load(object sender, EventArgs e) 

GetData(ASPxGridView1); 

protected void GetData(ASPxGridView grid) 

List<Category> categories = new List<Category>(); 
DataSet ds= msSql.SqlExecuteDataSet("select * from categories"); 
foreach (DataTable table in ds.Tables) 

foreach (DataRow row in table.Rows) 

categories.Add(new Category(Convert.ToInt16(row[0]),

Convert.ToString(row[1]),Convert.ToString(row[2]))); 


grid.DataSource = categories; 
grid.DataBind(); 


protected void UpdateData

(object CategoryID,object CategoryName, object Description) 

string s = String.Format

("Update categories set CategoryName=

'{0}',Description='{1}'

where CategoryID={2}", CategoryName, Description, CategoryID); 
msSql.SqlExecuteNonQuery(s); 

protected void InsertData

object CategoryID,object CategoryName, object Description) 

string s = String.Format("insert into categories

(CategoryID,CategoryName,Description) values

({0},'{1}','{2}')", CategoryID, CategoryName, Description); 
msSql.SqlExecuteNonQuery(s); 

.protected void DeleteData(object CategoryID) 

string s = String.Format

("delete from categories where CategoryID={0}", CategoryID); 
msSql.SqlExecuteNonQuery(s); 
.} 
protected void ASPxGridView1_RowUpdating(object sender, DevExpress.Web.Data.ASPxDataUpdatingEventArgs e) 

UpdateData(e.OldValues["CategoryID"],e.NewValues["CategoryName"],

e.NewValues["Description"]); 
e.Cancel = true; 
(sender as ASPxGridView).CancelEdit(); 
GetData((sender as ASPxGridView));


protected void ASPxGridView1_RowDeleting(object sender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e) 

DeleteData(e.Keys[0]); 
e.Cancel = true; 
GetData((sender as ASPxGridView)); 

protected void ASPxGridView1_RowInserting(object sender, DevExpress.Web.Data.ASPxDataInsertingEventArgs e) 

InsertData(e.NewValues["CategoryID"],

e.NewValues["CategoryName"], e.NewValues["Description"]); 
. e.Cancel = true; 
(sender as ASPxGridView).CancelEdit(); 
GetData((sender as ASPxGridView)); 

}

public class Category 

private int _CategoryID; 
public int CategoryID 

get { return _CategoryID; } 
set { _CategoryID = value; } 

public string CategoryName { get; set; } 
public string Description { get; set; } 
public Category(int categoryid, string categoryname, string description) 

CategoryID = categoryid; 
CategoryName = categoryname; 
Description = description; 

}

原创粉丝点击