这是一个财务统驭科目ChartOfAccount 和子帐科目间的数据操作Sample
1
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ChartOfAccount.aspx.cs" Inherits="WebModules_CommonMasterData_ChartOfAccount" %>
2
3
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
4
5
<html xmlns="http://www.w3.org/1999/xhtml" >
6
<head runat="server">
7
<title>无标题页</title>
8
</head>
9
<body>
10
<form id="form1" runat="server">
11
<div>
12
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="False" CellPadding="4" DataKeyNames="ChartID"
13
DataSourceID="SqlDataSource1" ForeColor="#333333" GridLines="None" OnRowCommand="GridView1_RowCommand" ShowFooter="True" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="855px" AllowPaging="True" OnRowEditing="GridView1_RowEditing">
14
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
15
<Columns>
16
<asp:TemplateField ShowHeader="False">
17
<ItemTemplate>
18
<asp:LinkButton ID="LinkButton1" runat="server" CausesValidation="False" CommandName="Select"
19
Text="选中"></asp:LinkButton>
20
</ItemTemplate>
21
</asp:TemplateField>
22
<asp:TemplateField HeaderText="统驭科目ID" SortExpression="ChartID">
23
<EditItemTemplate>
24
<asp:Label ID="Label1" runat="server" Text='<%# Eval("ChartID") %>'></asp:Label>
25
</EditItemTemplate>
26
<FooterTemplate>
27
<asp:Button ID="btnCreate" runat="server" CommandName="Insert" Text="新建" />
28
</FooterTemplate>
29
<ItemTemplate>
30
<asp:Label ID="Label4" runat="server" Text='<%# Bind("ChartID") %>'></asp:Label>
31
</ItemTemplate>
32
</asp:TemplateField>
33
<asp:TemplateField HeaderText="统驭科目名" SortExpression="ChartOfAccountName">
34
<EditItemTemplate>
35
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("ChartOfAccountName") %>'></asp:TextBox>
36
</EditItemTemplate>
37
<FooterTemplate>
38
<asp:TextBox ID="newChartOfAccountName" runat="server"></asp:TextBox>
39
</FooterTemplate>
40
<ItemTemplate>
41
<asp:Label ID="Label3" runat="server" Text='<%# Bind("ChartOfAccountName") %>'></asp:Label>
42
</ItemTemplate>
43
</asp:TemplateField>
44
<asp:TemplateField HeaderText="注释" SortExpression="Description">
45
<EditItemTemplate>
46
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("Description") %>'></asp:TextBox>
47
</EditItemTemplate>
48
<FooterTemplate>
49
<asp:TextBox ID="newDescription" runat="server"></asp:TextBox>
50
</FooterTemplate>
51
<ItemTemplate>
52
<asp:Label ID="Label2" runat="server" Text='<%# Bind("Description") %>'></asp:Label>
53
</ItemTemplate>
54
</asp:TemplateField>
55
<asp:TemplateField HeaderText="统驭科目编码" SortExpression="ChartCode">
56
<EditItemTemplate>
57
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("ChartCode") %>'></asp:TextBox>
58
</EditItemTemplate>
59
<FooterTemplate>
60
<asp:TextBox ID="txtChartOfCode" runat="server"></asp:TextBox>
61
</FooterTemplate>
62
<ItemTemplate>
63
<asp:Label ID="Label1" runat="server" Text='<%# Bind("ChartCode") %>'></asp:Label>
64
</ItemTemplate>
65
</asp:TemplateField>
66
<asp:BoundField DataField="CreateDate" HeaderText="创建日期" SortExpression="CreateDate" />
67
<asp:BoundField DataField="status" HeaderText="status" SortExpression="status" />
68
<asp:TemplateField HeaderText="下属科目" Visible="False">
69
<EditItemTemplate>
70
<asp:DetailsView ID="DetailsView1" runat="server" AutoGenerateRows="False"
71
BackColor="White" BorderColor="#E7E7FF" BorderStyle="None" BorderWidth="1px"
72
CellPadding="3" DataKeyNames="LengendID" DataSourceID="SqlDataSource3" GridLines="Horizontal"
73
Height="50px" Width="125px">
74
<FooterStyle BackColor="#B5C7DE" ForeColor="#4A3C8C" />
75
<EditRowStyle BackColor="#738A9C" Font-Bold="True" ForeColor="#F7F7F7" />
76
<RowStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" />
77
<PagerStyle BackColor="#E7E7FF" ForeColor="#4A3C8C" HorizontalAlign="Right" />
78
<Fields>
79
<asp:BoundField DataField="LegendCode" HeaderText="LegendCode" SortExpression="LegendCode" />
80
<asp:BoundField DataField="LegendName" HeaderText="LegendName" SortExpression="LegendName" />
81
<asp:BoundField DataField="LengendID" HeaderText="LengendID" InsertVisible="False"
82
ReadOnly="True" SortExpression="LengendID" />
83
<asp:BoundField DataField="ChartID" HeaderText="ChartID" SortExpression="ChartID" />
84
<asp:BoundField DataField="ChartCode" HeaderText="ChartCode" SortExpression="ChartCode" />
85
<asp:BoundField DataField="status" HeaderText="status" SortExpression="status" />
86
</Fields>
87
<HeaderStyle BackColor="#4A3C8C" Font-Bold="True" ForeColor="#F7F7F7" />
88
<AlternatingRowStyle BackColor="#F7F7F7" />
89
</asp:DetailsView>
90
<asp:SqlDataSource ID="SqlDataSource3" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
91
SelectCommand="SELECT [LegendCode], [LegendName], [LengendID], [ChartID], [ChartCode], [status] FROM [FinanceLegend]">
92
</asp:SqlDataSource>
93
</EditItemTemplate>
94
</asp:TemplateField>
95
<asp:CommandField ShowEditButton="True" />
96
</Columns>
97
<SelectedRowStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
98
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
99
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
100
<AlternatingRowStyle BackColor="White" />
101
<RowStyle BackColor="#EFF3FB" HorizontalAlign="Center" />
102
<EditRowStyle BackColor="#2461BF" />
103
</asp:GridView>
104
105
<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
106
SelectCommand="SELECT [ChartID], [ChartOfAccountName], [ProfitCenterName], [status], [Description], [ProfitCenterID], [EndCode], [BeginCode], [ChartCode], [CreateDate] FROM [FinanceCharOfAccount]">
107
</asp:SqlDataSource>
108
109
<asp:SqlDataSource ID="SqlDataSource2" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
110
SelectCommand="SELECT [LegendCode], [LegendName], [LengendID], [ChartID], [ChartCode], [status] FROM [FinanceLegend]">
111
</asp:SqlDataSource>
112
<asp:Label ID="Label6" runat="server" Text="子科目代码"></asp:Label>
113
<asp:TextBox ID="txtLengendCode" runat="server"></asp:TextBox>
114
<asp:Label ID="Label5" runat="server" Text="子科目名" Width="57px"></asp:Label>
115
<asp:TextBox ID="txtLengendName" runat="server"></asp:TextBox>
116
<asp:Button ID="btnCreateLengend" runat="server" OnClick="btnCreateLengend_Click"
117
Text="创建子科目" />
118
<asp:GridView ID="GridView2" runat="server" AllowPaging="True" AutoGenerateColumns="False"
119
DataSourceID="SqlDataSource4" PageSize="5" OnRowCommand="GridView2_RowCommand" HorizontalAlign="Left">
120
<Columns>
121
<asp:TemplateField HeaderText="子科目代码" SortExpression="LegendCode">
122
<EditItemTemplate>
123
<asp:TextBox ID="TextBox1" runat="server" Text='<%# Bind("LegendCode") %>'></asp:TextBox>
124
</EditItemTemplate>
125
<FooterTemplate>
126
<asp:TextBox ID="newLengendCode" runat="server"></asp:TextBox>
127
</FooterTemplate>
128
<ItemTemplate>
129
<asp:Label ID="Label1" runat="server" Text='<%# Bind("LegendCode") %>'></asp:Label>
130
</ItemTemplate>
131
</asp:TemplateField>
132
<asp:TemplateField HeaderText="科目名称" SortExpression="LegendName">
133
<EditItemTemplate>
134
<asp:TextBox ID="TextBox2" runat="server" Text='<%# Bind("LegendName") %>'></asp:TextBox>
135
</EditItemTemplate>
136
<FooterTemplate>
137
<asp:TextBox ID="newLengendName" runat="server"></asp:TextBox>
138
</FooterTemplate>
139
<ItemTemplate>
140
<asp:Label ID="Label2" runat="server" Text='<%# Bind("LegendName") %>'></asp:Label>
141
</ItemTemplate>
142
</asp:TemplateField>
143
<asp:BoundField DataField="ChartCode" HeaderText="统驭科目代码" SortExpression="ChartCode" />
144
<asp:BoundField DataField="ChartID" HeaderText="统驭科目ID" SortExpression="ChartID" />
145
<asp:TemplateField HeaderText="状态" SortExpression="status">
146
<EditItemTemplate>
147
<asp:TextBox ID="TextBox3" runat="server" Text='<%# Bind("status") %>'></asp:TextBox>
148
</EditItemTemplate>
149
<FooterTemplate>
150
<asp:Button ID="btnCreateLengend" runat="server" CommandName="Insert" Text="创建子科目" />
151
</FooterTemplate>
152
<ItemTemplate>
153
<asp:Label ID="Label3" runat="server" Text='<%# Bind("status") %>'></asp:Label>
154
</ItemTemplate>
155
</asp:TemplateField>
156
</Columns>
157
<RowStyle HorizontalAlign="Center" />
158
</asp:GridView>
159
160
<asp:SqlDataSource ID="SqlDataSource4" runat="server" ConnectionString="<%$ ConnectionStrings:BLUEBEANSConnectionString %>"
161
SelectCommand="SELECT [LegendCode], [LegendName], [ChartCode], [ChartID], [status] FROM [FinanceLegend] WHERE ([ChartID] = @ChartID)">
162
<SelectParameters>
163
<asp:ControlParameter ControlID="GridView1" Name="ChartID" PropertyName="SelectedValue"
164
Type="Int32" />
165
</SelectParameters>
166
</asp:SqlDataSource>
167
<asp:DetailsView ID="DetailsView2" runat="server" Height="50px" Width="125px">
168
</asp:DetailsView>
169
170
</div>
171
</form>
172
</body>
173
</html>
174

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

后台数据:
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
using BlueBeans.Data;
12
using BlueBeans.Entities;
13
14
public partial class WebModules_CommonMasterData_ChartOfAccount : System.Web.UI.Page
15
{
16
int _chartID = 0;
17
string _chartCode = string.Empty;
18
protected void Page_Load(object sender, EventArgs e)
19
{
20
21
}
22
protected void GridView1_RowCommand(object sender, GridViewCommandEventArgs e)
23
{
24
if (e.CommandName.Equals("Insert"))
25
{
26
TextBox newChartOfAccountName = (TextBox)this.GridView1.FooterRow.FindControl("newChartOfAccountName");
27
TextBox newDescription = (TextBox)this.GridView1.FooterRow.FindControl("newDescription");
28
TextBox txtChartOfCode = (TextBox)this.GridView1.FooterRow.FindControl("txtChartOfCode");
29
30
FinanceCharOfAccount coa = new FinanceCharOfAccount();
31
coa.ChartCode = txtChartOfCode.Text;
32
coa.Description = newDescription.Text;
33
coa.ChartOfAccountName = newChartOfAccountName.Text;
34
coa.CreateDate = DateTime.Now;
35
coa.Status = 0;
36
37
try
38
{
39
DataRepository.FinanceCharOfAccountProvider.Save(coa);
40
}
41
catch (Exception ex)
42
{
43
Response.Write(ex.Message);
44
}
45
46
this.GridView1.DataBind();
47
48
}
49
50
}
51
52
private void InsertLengendCode()
53
{
54
//DataTable dataTable = new DataTable();
55
//DataColumn col0 = dataTable.Columns.Add("ChartID", typeof(System.Int32));
56
//col0.AllowDBNull = false;
57
//DataColumn col1 = dataTable.Columns.Add("ChartOfAccountName", typeof(System.String));
58
//col1.AllowDBNull = false;
59
//DataColumn col2 = dataTable.Columns.Add("ProfitCenterName", typeof(System.String));
60
//col2.AllowDBNull = true;
61
//DataColumn col3 = dataTable.Columns.Add("status", typeof(System.Int32));
62
//col3.AllowDBNull = true;
63
//DataColumn col4 = dataTable.Columns.Add("Description", typeof(System.String));
64
//col4.AllowDBNull = true;
65
//DataColumn col5 = dataTable.Columns.Add("CreateDate", typeof(System.DateTime));
66
//col5.AllowDBNull = true;
67
//DataColumn col6 = dataTable.Columns.Add("ChartCode", typeof(System.String));
68
//col6.AllowDBNull = false;
69
//DataColumn col7 = dataTable.Columns.Add("BeginCode", typeof(System.String));
70
//col7.AllowDBNull = true;
71
//DataColumn col8 = dataTable.Columns.Add("EndCode", typeof(System.String));
72
//col8.AllowDBNull = true;
73
//DataColumn col9 = dataTable.Columns.Add("ProfitCenterID", typeof(System.Int32));
74
//col9.AllowDBNull = true;
75
76
//bulkCopy.ColumnMappings.Add("ChartID", "ChartID");
77
//bulkCopy.ColumnMappings.Add("ChartOfAccountName", "ChartOfAccountName");
78
//bulkCopy.ColumnMappings.Add("ProfitCenterName", "ProfitCenterName");
79
//bulkCopy.ColumnMappings.Add("status", "status");
80
//bulkCopy.ColumnMappings.Add("Description", "Description");
81
//bulkCopy.ColumnMappings.Add("CreateDate", "CreateDate");
82
//bulkCopy.ColumnMappings.Add("ChartCode", "ChartCode");
83
//bulkCopy.ColumnMappings.Add("BeginCode", "BeginCode");
84
//bulkCopy.ColumnMappings.Add("EndCode", "EndCode");
85
//bulkCopy.ColumnMappings.Add("ProfitCenterID", "ProfitCenterID");
86
87
//foreach (BlueBeans.Entities.FinanceCharOfAccount entity in entities)
88
//{
89
// if (entity.EntityState != EntityState.Added)
90
// continue;
91
92
// DataRow row = dataTable.NewRow();
93
94
// row["ChartID"] = entity.ChartID;
95
96
97
// row["ChartOfAccountName"] = entity.ChartOfAccountName;
98
99
100
// row["ProfitCenterName"] = entity.ProfitCenterName;
101
102
103
// row["status"] = entity.Status.HasValue ? (object)entity.Status : System.DBNull.Value;
104
105
106
// row["Description"] = entity.Description;
107
108
109
// row["CreateDate"] = entity.CreateDate.HasValue ? (object)entity.CreateDate : System.DBNull.Value;
110
111
112
// row["ChartCode"] = entity.ChartCode;
113
114
115
// row["BeginCode"] = entity.BeginCode;
116
117
118
// row["EndCode"] = entity.EndCode;
119
120
121
// row["ProfitCenterID"] = entity.ProfitCenterID.HasValue ? (object)entity.ProfitCenterID : System.DBNull.Value;
122
123
124
// dataTable.Rows.Add(row);
125
126
// }
127
128
129
}
130
/// <summary>
131
/// 获取主表数据
132
/// </summary>
133
/// <param name="sender"></param>
134
/// <param name="e"></param>
135
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
136
{
137
//Response.Write(this.GridView1.SelectedValue.ToString());
138
this.ViewState["ChartID"] = this.GridView1.SelectedValue.ToString();
139
this._chartID = int.Parse(this.GridView1.SelectedValue.ToString());
140
//this._chartCode = this.GridView1.SelectedRow.Cells[3];
141
}
142
/// <summary>
143
/// Insert从表数据
144
/// </summary>
145
/// <param name="sender"></param>
146
/// <param name="e"></param>
147
protected void GridView2_RowCommand(object sender, GridViewCommandEventArgs e)
148
{
149
//Response.Write(this.GridView1.SelectedValue.ToString());
150
if (e.CommandName.Equals("Insert"))
151
{
152
TextBox newLengendName = (TextBox)this.GridView2.FooterRow.FindControl("newLengendName");
153
TextBox newLengendCode = (TextBox)this.GridView2.FooterRow.FindControl("newLengendCode");
154
155
156
FinanceLegend lengend = new FinanceLegend();
157
lengend.ChartID =int.Parse( this.GridView1.SelectedValue.ToString());
158
159
FinanceCharOfAccount coa = DataRepository.FinanceCharOfAccountProvider.GetByChartID(int.Parse(this.GridView1.SelectedValue.ToString()));
160
lengend.ChartCode = coa.ChartCode;
161
162
lengend.LegendCode = newLengendCode.Text;
163
lengend.LegendName = newLengendName.Text;
164
165
lengend.Status = 0;
166
167
try
168
{
169
DataRepository.FinanceLegendProvider.Save(lengend);
170
}
171
catch (Exception ex)
172
{
173
Response.Write(ex.Message);
174
}
175
176
this.GridView2.DataBind();
177
178
}
179
}
180
protected void GridView1_RowEditing(object sender, GridViewEditEventArgs e)
181
{
182
183
}
184
protected void btnCreateLengend_Click(object sender, EventArgs e)
185
{
186
187
188
189
FinanceLegend lengend = new FinanceLegend();
190
lengend.ChartID = int.Parse(this.GridView1.SelectedValue.ToString());
191
//FinanceCharOfAccount coa = new FinanceCharOfAccount();
192
//coa = DataRepository.FinanceCharOfAccountProvider.GetByChartID(lengend.ChartID);
193
FinanceCharOfAccount coa = DataRepository.FinanceCharOfAccountProvider.GetByChartID(int.Parse(this.GridView1.SelectedValue.ToString()));
194
lengend.ChartCode = coa.ChartCode;
195
lengend.LegendCode = this.txtLengendCode.Text;
196
lengend.LegendName = this.txtLengendName.Text;
197
198
lengend.Status = 0;
199
200
try
201
{
202
DataRepository.FinanceLegendProvider.Save(lengend);
203
}
204
catch (Exception ex)
205
{
206
Response.Write(ex.Message);
207
}
208
//Clear Text
209
this.txtLengendCode.Text = string.Empty;
210
this.txtLengendName.Text = string.Empty;
211
212
this.GridView2.DataBind();
213
214
215
216
}
217
}
218

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

显示效果:
