最近由于工作需要,做一个能增加、删除、修改数据的控件,在网上找了很久,没找到特别好用的,自己写了一个,
比较粗糙,一些地方没有加数据验证,但保证绝对好用,不多说了,上代码吧:
cs
- using System;
- using System.Data;
- using System.Configuration;
- using System.Web;
- using System.Web.Security;
- using System.Web.UI;
- using System.Web.UI.WebControls;
- using System.Web.UI.WebControls.WebParts;
- using System.Web.UI.HtmlControls;
- using System.Collections;
- public partial class _Default : System.Web.UI.Page
- {
- protected void Page_Load(object sender, EventArgs e)
- {
- if (!IsPostBack)
- {
- bind();
- }
- }
- ICollection CreateDataSource()
- {
- DataTable dt = new DataTable();
- DataRow dr;
- dt.Columns.Add(new DataColumn("id", typeof(Int32)));
- dt.Columns.Add(new DataColumn("code", typeof(string)));
- dt.Columns.Add(new DataColumn("description", typeof(string)));
- dt.Columns.Add(new DataColumn("uom", typeof(Int32)));
- dt.Columns.Add(new DataColumn("height", typeof(Int32)));
- dt.Columns.Add(new DataColumn("length", typeof(Int32)));
- dt.Columns.Add(new DataColumn("width", typeof(Int32)));
- dt.Columns.Add(new DataColumn("volume", typeof(Int32)));
- for (int i = 0; i < 6; i++)
- {
- dr = dt.NewRow();
- dr[0] = i;
- dr[1] = i % 2;
- dr[2] = "info";
- dr[3] = 10;
- dr[4] = 20;
- dr[5] = 30;
- dr[6] = 40;
- dr[7] = 50;
- dt.Rows.Add(dr);
- }
- DataView dv = new DataView(dt);
- ViewState["TempTable"] = dt;
- return dv;
- }
- protected void DataEdit(int ID,string code, string desc, string uom, string height, string length, string width, string volume)
- {
- DataTable dt = (DataTable)ViewState["TempTable"];
- if (dt == null) return;
- //DataView dv = dt.DefaultView;
- DataRow dr = dt.Select("id="+ID)[0];
- dr.BeginEdit();
- dr[1] = code;
- dr[2] = desc;
- dr[3] = uom;
- dr[4] = height;
- dr[5] = length;
- dr[6] = width;
- dr[7] = volume;
- dr.EndEdit();
- ViewState["TempTable"] = dt;
- }
- protected void DataDelete(int ID)
- {
- DataTable dt = (DataTable)ViewState["TempTable"];
- if (dt == null) return;
- //DataView dv = dt.DefaultView;
- DataRow dr = dt.Select("id="+ID)[0];