Recollect的黑色世界...... 注册 | 登陆

DXPerience之ASPxGridView使用体会(一) 自定义数据后台处理

本广告位招商中!联系邮箱heiqu8#163.com,将#替换为@...

DXPerience之ASPxGridView使用体会(一) 自定义数据后台处理

2010年02月22日

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

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



原文地址:http://blog.csdn.net/xujh/archive/2010/02/22/5318132.aspx

如页面无法正常浏览,请查看原文地址!如有版权争议请与站长联系!我们会尽快删除相关网页快照!

« 上一篇 | 下一篇 »

Trackbacks

点击获得Trackback地址,Encode: UTF-8

发表评论

评论内容 (必填):