轉帖|其它|編輯:郝浩|2011-04-07 14:14:13.000|閱讀 1363 次
概述:默認ASPxGridView使用DataSource可以很方便,但SQL代碼寫在ASPX文件中,對于分層開發不力。所以嘗試對接后臺接口,然后通過自定義修改、插入、刪除事件中調用后臺接口來處理數據。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
默認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;
}
}
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:xujh博客