[原创]Object/DataSet Relational Mapping(对象/数据集关系映射)补充代码1
1
using System;
2
using System.Data;
3
using System.Configuration;
4
using System.Collections;
5
using System.Web;
6
using System.Web.Security;
7
using System.Web.UI;
8
using System.Web.UI.WebControls;
9
using System.Web.UI.WebControls.WebParts;
10
using System.Web.UI.HtmlControls;
11
12
using IBatisNet.DataMapper;
13
using System.Reflection;
14
15
/// <summary>
16
/// ODRM为结合ORM与DataSet,并自动根据O和DataSet生成对象,以便业务层处理
17
/// </summary>
18
public partial class ODRM_test : PageBase
19
{
20
protected void Page_Load(object sender, EventArgs e)
21
{
22
if (!IsPostBack)
23
{
24
DataSet set11 = Mapper.Instance().QueryForDataSet("SelectXTM_UserByKey_Test",UIhashtable);
25
DataTable table1 = ConvertDataTable(set11, "");
26
//这里为自己定义的序列化类
27
cXTM_User[] objModel = new cXTM_User[table1.Rows.Count];
28
//DataTable转化为序列化类数组
29
for (int y = 0; y < table1.Rows.Count; y++)
30
{
31
objModel[y] = new cXTM_User();
32
DataTableConvertObject(table1.Rows[y], objModel[y]);
33
}
34
//以DataSet模式绑定
35
ExDataGrid1.DataSource = table1;
36
//以序列化对象模式绑定
37
//ExDataGrid1.DataSource = objModel;
38
ExDataGrid1.DataBind();
39
}
40
}
41
42
protected void ExDataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)
43
{
44
/*
45
* 该部分应用范围
46
* 查询一条数据的修改,可以用objModel.UserName
47
* 而不必再使用DataTable[0].Rows[0]["UserName"]的模式
48
* 提高面向对象的程度,并减少业务流程部分编码
49
*/
50
51
if (e.Item.ItemIndex != -1)
52
{
53
cXTM_User objModel = new cXTM_User();
54
55
//如果为DataSet填充的DataGrid
56
if (e.Item.DataItem.GetType().FullName == "System.Data.DataRowView")
57
{
58
DataTableConvertObject((DataRow)((DataRowView)e.Item.DataItem).Row, objModel);
59
}
60
//否则认为为序列化对象填充
61
else
62
{
63
objModel = (cXTM_User)e.Item.DataItem;
64
65
}
66
}
67
}
68
69
指定对象函数
192
193
通用函数
259
260
261
262
263
}
264
using System;2
using System.Data;3
using System.Configuration;4
using System.Collections;5
using System.Web;6
using System.Web.Security;7
using System.Web.UI;8
using System.Web.UI.WebControls;9
using System.Web.UI.WebControls.WebParts;10
using System.Web.UI.HtmlControls;11

12
using IBatisNet.DataMapper;13
using System.Reflection;14

15
/// <summary>16
/// ODRM为结合ORM与DataSet,并自动根据O和DataSet生成对象,以便业务层处理17
/// </summary>18
public partial class ODRM_test : PageBase19
{20
protected void Page_Load(object sender, EventArgs e)21
{22
if (!IsPostBack)23
{24
DataSet set11 = Mapper.Instance().QueryForDataSet("SelectXTM_UserByKey_Test",UIhashtable);25
DataTable table1 = ConvertDataTable(set11, "");26
//这里为自己定义的序列化类27
cXTM_User[] objModel = new cXTM_User[table1.Rows.Count];28
//DataTable转化为序列化类数组29
for (int y = 0; y < table1.Rows.Count; y++)30
{31
objModel[y] = new cXTM_User();32
DataTableConvertObject(table1.Rows[y], objModel[y]); 33
}34
//以DataSet模式绑定35
ExDataGrid1.DataSource = table1;36
//以序列化对象模式绑定37
//ExDataGrid1.DataSource = objModel;38
ExDataGrid1.DataBind();39
}40
}41

42
protected void ExDataGrid1_ItemDataBound(object sender, DataGridItemEventArgs e)43
{44
/*45
* 该部分应用范围46
* 查询一条数据的修改,可以用objModel.UserName47
* 而不必再使用DataTable[0].Rows[0]["UserName"]的模式48
* 提高面向对象的程度,并减少业务流程部分编码49
*/50

51
if (e.Item.ItemIndex != -1)52
{53
cXTM_User objModel = new cXTM_User();54
55
//如果为DataSet填充的DataGrid56
if (e.Item.DataItem.GetType().FullName == "System.Data.DataRowView")57
{58
DataTableConvertObject((DataRow)((DataRowView)e.Item.DataItem).Row, objModel); 59
}60
//否则认为为序列化对象填充61
else 62
{63
objModel = (cXTM_User)e.Item.DataItem; 64
65
}66
}67
}68

69
指定对象函数192

193
通用函数259

260

261

262

263
}264




浙公网安备 33010602011771号