为了实现象excel那样的横向数据统计和纵向数据统计,在.NET下实现了二维表的DATAGRID.
1
<%@ Page Language="C#" MasterPageFile="~/MasterPage/Default.master" AutoEventWireup="true"
2
CodeFile="CategorySellPlan.aspx.cs" Inherits="Start_SellPlan_CategorySellPlan"
3
Title="Untitled Page" %>
4![](/Images/OutliningIndicators/None.gif)
5
<asp:Content ID="Content1" ContentPlaceHolderID="ContentPlaceHolder1" runat="Server">
6![](/Images/OutliningIndicators/None.gif)
7
<br />
8
<fieldset>
9
<legend>品类计划设置</legend>
10
<br />
11
<asp:DropDownList ID="DropDownList1" runat="server" AutoPostBack="True" DataTextField="PERIODNAME"
12
DataValueField="PeriodID" OnSelectedIndexChanged="DropDownList1_SelectedIndexChanged"
13
Width="156px">
14
</asp:DropDownList>
15
<asp:DropDownList ID="DropDownList2" runat="server" AutoPostBack="True" DataSourceID="ObjectDataSource1"
16
DataTextField="MONTH" DataValueField="MONTHPLANID" OnSelectedIndexChanged="DropDownList2_SelectedIndexChanged">
17
</asp:DropDownList><br />
18
<table style="width: 100%">
19
<tr>
20
<td>
21
这个月预测量为:<asp:Label ID="lbForestQuantity" runat="server" ForeColor="Red"></asp:Label></td>
22
<td>
23
这个月修正量为:<asp:Label ID="lbFixQuantity" runat="server" ForeColor="Red"></asp:Label></td>
24
</tr>
25
<tr>
26
<td>
27
这个月计划量为:<asp:Label ID="lbMonthPlan" runat="server" ForeColor="Red"></asp:Label>
28
</td>
29
<td>
30
</td>
31
</tr>
32
</table>
33
<table style="width: 100%">
34
<tr>
35
<td align="left">
36
<asp:Label ID="lbUnAuditingComment" runat="server" ForeColor="Red"></asp:Label></td>
37
</tr>
38
<tr>
39
<td align="right">
40
<asp:ImageButton ID="ibSave" runat="server" OnClientClick="return DataGridInputChanged();" OnClick="ImageButton1_Click" SkinID="save" />
41
<asp:ImageButton ID="ibApply" runat="server" CommandName="Apply" OnCommand="IBCommand"
42
SkinID="tjsh" />
43
<asp:ImageButton ID="ibUnApply" runat="server" CommandName="UnApply" OnCommand="IBCommand"
44
SkinID="cxsh" />
45
<asp:ImageButton ID="ibAuditing" runat="server" CommandName="Auditing" OnCommand="IBCommand"
46
SkinID="shtg" />
47
<asp:ImageButton ID="ibUnAuditing" runat="server" CommandName="UnAuditing" OnCommand="IBCommand"
48
SkinID="qxsh" />
49
</td>
50
</tr>
51
</table>
52
<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" OldValuesParameterFormatString="original_{0}"
53
SelectMethod="GetMonthPlanData" TypeName="CM.Data.SellPlan.CategoryPlanTableAdapters.PL_MONTHPLANTableAdapter">
54
<SelectParameters>
55
<asp:ControlParameter ControlID="DropDownList1" Name="PeriodID" PropertyName="SelectedValue"
56
Type="String" />
57
</SelectParameters>
58
</asp:ObjectDataSource>
59
<asp:Panel ID="Panel1" runat="server" Height="50px" Width="100%">
60
<asp:Label ID="lbTable" runat="server"></asp:Label>
61
<asp:DataGrid ID="grid" runat="server" ShowFooter="True" CellPadding="4" ForeColor="#333333"
62
GridLines="None">
63
<FooterStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
64
<EditItemStyle BackColor="#2461BF" />
65
<SelectedItemStyle BackColor="#D1DDF1" Font-Bold="True" ForeColor="#333333" />
66
<PagerStyle BackColor="#2461BF" ForeColor="White" HorizontalAlign="Center" />
67
<AlternatingItemStyle BackColor="Gainsboro" Font-Bold="False" Font-Italic="False"
68
Font-Overline="False" Font-Strikeout="False" Font-Underline="False" />
69
<ItemStyle BackColor="#EFF3FB" />
70
<HeaderStyle BackColor="#507CD1" Font-Bold="True" ForeColor="White" />
71
</asp:DataGrid>
72
<div id="comment" runat="server" style="border-right: #000000 1px; border-top: #000000 1px;
73
z-index: 8888; left: 60%; border-left: #000000 1px; width: 234px; border-bottom: #000000 1px;
74
position: absolute; top: 40%; height: 0px; background-color: #ccffff" visible="false">
75
<table style="border-right: #000000 1px solid; border-top: #000000 1px solid; margin: 1px;
76
border-left: #000000 1px solid; width: 100%; border-bottom: #000000 1px solid">
77
<tr>
78
<td style="width: 50px">
79
原因:</td>
80
<td>
81
<asp:TextBox ID="tbComment" runat="server" Height="147px" TextMode="MultiLine" Width="100%"></asp:TextBox></td>
82
</tr>
83
<tr>
84
<td>
85
</td>
86
<td>
87
<asp:ImageButton ID="ibSubmit" runat="server" OnCommand="IBCommand" CommandName="UnPass"
88
SkinID="ok" /></td>
89
</tr>
90
</table>
91
</div>
92
</asp:Panel>
93
<br />
94
<table style="width: 100%">
95
<tr>
96
<td align="center">
97
</td>
98
</tr>
99
</table>
100
<br />
101
<asp:Label ID="Label1" runat="server"></asp:Label>
102
<br />
103
<asp:Label ID="Label2" runat="server"></asp:Label>
104
</fieldset>
105![](/Images/OutliningIndicators/None.gif)
106
<script language="javascript" type="text/javascript">
107
function trim(str)
108
{
109
re1=/^[ \t]*/; //一个空白开头的匹配。
110![](/Images/OutliningIndicators/InBlock.gif)
111
re2=/[ \t]*$/; //一个空白结尾的匹配。
112![](/Images/OutliningIndicators/InBlock.gif)
113
s=str.replace(re1,"").replace(re2,"");
114
return s;
115
}
116
function DataGridInputChanged()
117
{
118
var isfloat = true;
119
var bodyTable = document.getElementById('ctl00_ContentPlaceHolder1_grid');
120
var isFloat = /^\d+(\.\d+)?$/;//
121
//alert(isFloat.test("255.255.255.aaaa"));
122![](/Images/OutliningIndicators/InBlock.gif)
123
if (bodyTable == null) return;
124
//alert(bodyTable.rows.length);
125
for (var i = 2; i < bodyTable.rows.length - 1; i++)
126
{
127
/*行合计*/
128
var pricetotal = 0;
129
for (var j = 0; j < (bodyTable.rows(2).cells.length-2)/2; j++)
130
{
131
var sel = bodyTable.rows(i).cells(2*j+2).children.item(0);
132
//alert(sel.value);
133
if (sel != null)
134
{
135
if (trim(sel.value).length > 0)
136
{
137
if(!isFloat.test(sel.value))
138
{
139
//alert("您输入的数量格式不正确!");
140
isfloat = false;
141
//return;
142
}
143
else
144
{
145
pricetotal += parseFloat(sel.value);
146
}
147
}
148
else
149
{
150
//alert("您输入的数量格式不正确!");
151
isfloat = false;
152
//return;
153
}
154
}
155
else
156
{
157
sel = bodyTable.rows(i).cells(2*j+2);
158
if (sel != null && trim(sel.innerText).length > 0)
159
{
160
pricetotal += parseFloat(sel.innerText);
161
}
162
}
163
}
164
//alert(pricetotal);
165
bodyTable.rows(i).cells(bodyTable.rows(2).cells.length-1).innerText = pricetotal.toFixed(0);
166
}
167
168
/*列合计*/
169
for (var j = 0; j < (bodyTable.rows(2).cells.length-2)/2; j++)
170
{
171
forestQuantity = 0;
172
fixQuantity = 0;
173
for (var i = 2; i < bodyTable.rows.length - 1; i++)
174
{
175
var sel1 = bodyTable.rows(i).cells(2*j+1).children.item(0);
176
if (sel != null)
177
{
178
if (trim(sel1.value).length > 0)
179
{
180
if(!isFloat.test(sel.value))
181
{
182
//alert("您输入的数量格式不正确!");
183
isfloat = false;
184
//return;
185
}
186
else
187
forestQuantity += parseFloat(sel1.value);
188
}
189
else
190
{
191
//alert("您输入的数量格式不正确!");
192
isfloat = false;
193
//return;
194
}
195
}
196
else
197
{
198
sel1 = bodyTable.rows(i).cells(2*j+1);
199
200
if (sel1 != null && trim(sel1.innerText).length > 0)
201
{
202
forestQuantity += parseFloat(sel1.innerText);
203
}
204
}
205
var sel = bodyTable.rows(i).cells(2*j+2).children.item(0);
206
if (sel != null)
207
{
208
if (trim(sel.value).length > 0)
209
{
210
if(!isFloat.test(sel.value))
211
{
212
//alert("您输入的数量格式不正确!");
213
isfloat = false;
214
//return;
215
}
216
else
217
fixQuantity += parseFloat(sel.value);
218
}
219
else
220
{
221
//alert("您输入的数量格式不正确!");
222
isfloat = false;
223
//return;
224
}
225
}
226
else
227
{
228
sel = bodyTable.rows(i).cells(2*j+2);
229
230
if (sel != null && trim(sel.innerText).length > 0)
231
{
232
fixQuantity += parseFloat(sel.innerText);
233
}
234
}
235
}
236
bodyTable.rows(bodyTable.rows.length -1).cells(2*j+1).innerHTML = forestQuantity.toFixed(0);
237
bodyTable.rows(bodyTable.rows.length -1).cells(2*j+2).innerHTML = fixQuantity.toFixed(0);
238
}
239
240
var totalQuantity = 0;
241
for (var i = 2; i < bodyTable.rows.length - 1; i++)
242
{
243
var sel = bodyTable.rows(i).cells(bodyTable.rows(2).cells.length-1);
244
if (sel != null)
245
{
246
if (trim(sel.innerText).length > 0)
247
{
248
totalQuantity += parseFloat(sel.innerText);
249
}
250
}
251
}
252
bodyTable.rows(bodyTable.rows.length -1).cells(bodyTable.rows(2).cells.length-1).innerHTML = totalQuantity.toFixed(0);
253
if(!isfloat)
254
alert("您输入的数量格式不正确!");
255
return isfloat;
256
}
257
</script>
258![](/Images/OutliningIndicators/None.gif)
259
<script language="javascript" type="text/javascript">
260
DataGridInputChanged();
261
</script>
262
</asp:Content>
263![](/Images/OutliningIndicators/None.gif)
页面主要做客户端验证功能.![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/None.gif)
17
![](/Images/OutliningIndicators/None.gif)
18
![](/Images/OutliningIndicators/None.gif)
19
![](/Images/OutliningIndicators/None.gif)
20
![](/Images/OutliningIndicators/None.gif)
21
![](/Images/OutliningIndicators/None.gif)
22
![](/Images/OutliningIndicators/None.gif)
23
![](/Images/OutliningIndicators/None.gif)
24
![](/Images/OutliningIndicators/None.gif)
25
![](/Images/OutliningIndicators/None.gif)
26
![](/Images/OutliningIndicators/None.gif)
27
![](/Images/OutliningIndicators/None.gif)
28
![](/Images/OutliningIndicators/None.gif)
29
![](/Images/OutliningIndicators/None.gif)
30
![](/Images/OutliningIndicators/None.gif)
31
![](/Images/OutliningIndicators/None.gif)
32
![](/Images/OutliningIndicators/None.gif)
33
![](/Images/OutliningIndicators/None.gif)
34
![](/Images/OutliningIndicators/None.gif)
35
![](/Images/OutliningIndicators/None.gif)
36
![](/Images/OutliningIndicators/None.gif)
37
![](/Images/OutliningIndicators/None.gif)
38
![](/Images/OutliningIndicators/None.gif)
39
![](/Images/OutliningIndicators/None.gif)
40
![](/Images/OutliningIndicators/None.gif)
41
![](/Images/OutliningIndicators/None.gif)
42
![](/Images/OutliningIndicators/None.gif)
43
![](/Images/OutliningIndicators/None.gif)
44
![](/Images/OutliningIndicators/None.gif)
45
![](/Images/OutliningIndicators/None.gif)
46
![](/Images/OutliningIndicators/None.gif)
47
![](/Images/OutliningIndicators/None.gif)
48
![](/Images/OutliningIndicators/None.gif)
49
![](/Images/OutliningIndicators/None.gif)
50
![](/Images/OutliningIndicators/None.gif)
51
![](/Images/OutliningIndicators/None.gif)
52
![](/Images/OutliningIndicators/None.gif)
53
![](/Images/OutliningIndicators/None.gif)
54
![](/Images/OutliningIndicators/None.gif)
55
![](/Images/OutliningIndicators/None.gif)
56
![](/Images/OutliningIndicators/None.gif)
57
![](/Images/OutliningIndicators/None.gif)
58
![](/Images/OutliningIndicators/None.gif)
59
![](/Images/OutliningIndicators/None.gif)
60
![](/Images/OutliningIndicators/None.gif)
61
![](/Images/OutliningIndicators/None.gif)
62
![](/Images/OutliningIndicators/None.gif)
63
![](/Images/OutliningIndicators/None.gif)
64
![](/Images/OutliningIndicators/None.gif)
65
![](/Images/OutliningIndicators/None.gif)
66
![](/Images/OutliningIndicators/None.gif)
67
![](/Images/OutliningIndicators/None.gif)
68
![](/Images/OutliningIndicators/None.gif)
69
![](/Images/OutliningIndicators/None.gif)
70
![](/Images/OutliningIndicators/None.gif)
71
![](/Images/OutliningIndicators/None.gif)
72
![](/Images/OutliningIndicators/None.gif)
73
![](/Images/OutliningIndicators/None.gif)
74
![](/Images/OutliningIndicators/None.gif)
75
![](/Images/OutliningIndicators/None.gif)
76
![](/Images/OutliningIndicators/None.gif)
77
![](/Images/OutliningIndicators/None.gif)
78
![](/Images/OutliningIndicators/None.gif)
79
![](/Images/OutliningIndicators/None.gif)
80
![](/Images/OutliningIndicators/None.gif)
81
![](/Images/OutliningIndicators/None.gif)
82
![](/Images/OutliningIndicators/None.gif)
83
![](/Images/OutliningIndicators/None.gif)
84
![](/Images/OutliningIndicators/None.gif)
85
![](/Images/OutliningIndicators/None.gif)
86
![](/Images/OutliningIndicators/None.gif)
87
![](/Images/OutliningIndicators/None.gif)
88
![](/Images/OutliningIndicators/None.gif)
89
![](/Images/OutliningIndicators/None.gif)
90
![](/Images/OutliningIndicators/None.gif)
91
![](/Images/OutliningIndicators/None.gif)
92
![](/Images/OutliningIndicators/None.gif)
93
![](/Images/OutliningIndicators/None.gif)
94
![](/Images/OutliningIndicators/None.gif)
95
![](/Images/OutliningIndicators/None.gif)
96
![](/Images/OutliningIndicators/None.gif)
97
![](/Images/OutliningIndicators/None.gif)
98
![](/Images/OutliningIndicators/None.gif)
99
![](/Images/OutliningIndicators/None.gif)
100
![](/Images/OutliningIndicators/None.gif)
101
![](/Images/OutliningIndicators/None.gif)
102
![](/Images/OutliningIndicators/None.gif)
103
![](/Images/OutliningIndicators/None.gif)
104
![](/Images/OutliningIndicators/None.gif)
105
![](/Images/OutliningIndicators/None.gif)
106
![](/Images/OutliningIndicators/None.gif)
107
![](/Images/OutliningIndicators/None.gif)
108
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
109
![](/Images/OutliningIndicators/InBlock.gif)
110
![](/Images/OutliningIndicators/InBlock.gif)
111
![](/Images/OutliningIndicators/InBlock.gif)
112
![](/Images/OutliningIndicators/InBlock.gif)
113
![](/Images/OutliningIndicators/InBlock.gif)
114
![](/Images/OutliningIndicators/InBlock.gif)
115
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
116
![](/Images/OutliningIndicators/None.gif)
117
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
118
![](/Images/OutliningIndicators/InBlock.gif)
119
![](/Images/OutliningIndicators/InBlock.gif)
120
![](/Images/OutliningIndicators/InBlock.gif)
121
![](/Images/OutliningIndicators/InBlock.gif)
122
![](/Images/OutliningIndicators/InBlock.gif)
123
![](/Images/OutliningIndicators/InBlock.gif)
124
![](/Images/OutliningIndicators/InBlock.gif)
125
![](/Images/OutliningIndicators/InBlock.gif)
126
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
127
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
128
![](/Images/OutliningIndicators/InBlock.gif)
129
![](/Images/OutliningIndicators/InBlock.gif)
130
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
131
![](/Images/OutliningIndicators/InBlock.gif)
132
![](/Images/OutliningIndicators/InBlock.gif)
133
![](/Images/OutliningIndicators/InBlock.gif)
134
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
135
![](/Images/OutliningIndicators/InBlock.gif)
136
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
137
![](/Images/OutliningIndicators/InBlock.gif)
138
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
139
![](/Images/OutliningIndicators/InBlock.gif)
140
![](/Images/OutliningIndicators/InBlock.gif)
141
![](/Images/OutliningIndicators/InBlock.gif)
142
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
143
![](/Images/OutliningIndicators/InBlock.gif)
144
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
145
![](/Images/OutliningIndicators/InBlock.gif)
146
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
147
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/InBlock.gif)
152
![](/Images/OutliningIndicators/InBlock.gif)
153
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
154
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
155
![](/Images/OutliningIndicators/InBlock.gif)
156
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
157
![](/Images/OutliningIndicators/InBlock.gif)
158
![](/Images/OutliningIndicators/InBlock.gif)
159
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
160
![](/Images/OutliningIndicators/InBlock.gif)
161
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
162
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
163
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
164
![](/Images/OutliningIndicators/InBlock.gif)
165
![](/Images/OutliningIndicators/InBlock.gif)
166
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
167
![](/Images/OutliningIndicators/InBlock.gif)
168
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
169
![](/Images/OutliningIndicators/InBlock.gif)
170
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
171
![](/Images/OutliningIndicators/InBlock.gif)
172
![](/Images/OutliningIndicators/InBlock.gif)
173
![](/Images/OutliningIndicators/InBlock.gif)
174
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
175
![](/Images/OutliningIndicators/InBlock.gif)
176
![](/Images/OutliningIndicators/InBlock.gif)
177
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
178
![](/Images/OutliningIndicators/InBlock.gif)
179
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
180
![](/Images/OutliningIndicators/InBlock.gif)
181
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/InBlock.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/InBlock.gif)
188
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
189
![](/Images/OutliningIndicators/InBlock.gif)
190
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
191
![](/Images/OutliningIndicators/InBlock.gif)
192
![](/Images/OutliningIndicators/InBlock.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
195
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
196
![](/Images/OutliningIndicators/InBlock.gif)
197
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
198
![](/Images/OutliningIndicators/InBlock.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/InBlock.gif)
201
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
202
![](/Images/OutliningIndicators/InBlock.gif)
203
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
204
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
205
![](/Images/OutliningIndicators/InBlock.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
208
![](/Images/OutliningIndicators/InBlock.gif)
209
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
212
![](/Images/OutliningIndicators/InBlock.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/InBlock.gif)
215
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
216
![](/Images/OutliningIndicators/InBlock.gif)
217
![](/Images/OutliningIndicators/InBlock.gif)
218
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
219
![](/Images/OutliningIndicators/InBlock.gif)
220
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
221
![](/Images/OutliningIndicators/InBlock.gif)
222
![](/Images/OutliningIndicators/InBlock.gif)
223
![](/Images/OutliningIndicators/InBlock.gif)
224
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
225
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
226
![](/Images/OutliningIndicators/InBlock.gif)
227
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
228
![](/Images/OutliningIndicators/InBlock.gif)
229
![](/Images/OutliningIndicators/InBlock.gif)
230
![](/Images/OutliningIndicators/InBlock.gif)
231
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
232
![](/Images/OutliningIndicators/InBlock.gif)
233
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
234
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
235
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
236
![](/Images/OutliningIndicators/InBlock.gif)
237
![](/Images/OutliningIndicators/InBlock.gif)
238
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
239
![](/Images/OutliningIndicators/InBlock.gif)
240
![](/Images/OutliningIndicators/InBlock.gif)
241
![](/Images/OutliningIndicators/InBlock.gif)
242
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
243
![](/Images/OutliningIndicators/InBlock.gif)
244
![](/Images/OutliningIndicators/InBlock.gif)
245
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
246
![](/Images/OutliningIndicators/InBlock.gif)
247
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
248
![](/Images/OutliningIndicators/InBlock.gif)
249
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
250
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
251
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
252
![](/Images/OutliningIndicators/InBlock.gif)
253
![](/Images/OutliningIndicators/InBlock.gif)
254
![](/Images/OutliningIndicators/InBlock.gif)
255
![](/Images/OutliningIndicators/InBlock.gif)
256
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
257
![](/Images/OutliningIndicators/None.gif)
258
![](/Images/OutliningIndicators/None.gif)
259
![](/Images/OutliningIndicators/None.gif)
260
![](/Images/OutliningIndicators/None.gif)
261
![](/Images/OutliningIndicators/None.gif)
262
![](/Images/OutliningIndicators/None.gif)
263
![](/Images/OutliningIndicators/None.gif)
下面是服务锻动态生成datagrid代码.
1
using System;
2
using System.Data;
3
using System.Data.SqlClient;
4
using System.Configuration;
5
using System.Collections;
6
using System.Web;
7
using System.Web.Security;
8
using System.Web.UI;
9
using System.Web.UI.WebControls;
10
using System.Web.UI.WebControls.WebParts;
11
using System.Web.UI.HtmlControls;
12
using System.Drawing;
13
using CM.Data.Forest;
14![](/Images/OutliningIndicators/None.gif)
15
public partial class Start_SellPlan_CategorySellPlan : System.Web.UI.Page
16
{
17
private static DataTable dtRole = new DataTable();
18
private static DataTable dtPrice = new DataTable();
19![](/Images/OutliningIndicators/InBlock.gif)
20
public Start_SellPlan_CategorySellPlan()
21
{
22
this.Init += new EventHandler(Start_SellPlan_CategorySellPlan_Init);
23
}
24![](/Images/OutliningIndicators/InBlock.gif)
25
void Start_SellPlan_CategorySellPlan_Init(object sender, EventArgs e)
26
{
27
Bind();
28
BindMonthPlan();
29
BindDataView();
30
}
31![](/Images/OutliningIndicators/InBlock.gif)
32
protected void Page_Load(object sender, EventArgs e)
33
{
34
if (Session["PersonsID"] == null)
35
Response.Write("<script language='javascript'>top.location.href='/cmindex.aspx'</script>");
36
if (!Page.IsPostBack)
37
{
38
this.ibSave.Enabled = HasPermissions.HasPermission(CM.Data.UserRolePermission.MonthCategoryPlan.保存);
39
CheckComment();
40
}
41
this.Label1.Text = "";
42
this.Label2.Text = "";
43
}
44
private void BindDataView()
45
{
46
CreateGrid();
47
grid.DataSource = CreateSource();
48
grid.DataBind();
49
}
50![](/Images/OutliningIndicators/InBlock.gif)
51
private void Bind()
52
{
53
CM.Data.Category.CategoryTableAdapters.PL_CATEGORYPERIODTableAdapter a = new CM.Data.Category.CategoryTableAdapters.PL_CATEGORYPERIODTableAdapter();
54
DataTable dt = a.GetData();
55
this.DropDownList1.DataSource = dt;
56
this.DropDownList1.DataBind();
57
this.DropDownList2.DataBind();
58
}
59![](/Images/OutliningIndicators/InBlock.gif)
60
private void BindMonthPlan()
61
{
62
this.lbMonthPlan.Text = "";
63
if (this.DropDownList2.SelectedItem != null)
64
{
65
DataTable dt = CM.Data.SellPlan.SellPlan.GetPeriodMonthPlan(this.DropDownList1.SelectedValue, this.DropDownList2.SelectedItem.Text);
66
if (dt.Rows.Count > 0)
67
{
68
this.lbForestQuantity.Text = dt.Rows[0]["ForestQuantity"].ToString();
69
this.lbFixQuantity.Text = dt.Rows[0]["FixQuantity"].ToString();
70
this.lbMonthPlan.Text = dt.Rows[0]["AssignMentQuantity"].ToString();
71
}
72
}
73
else
74
Response.Write("<script language='javascript'>alert('您还没做这个半年计划!请做好计划再分配!');location.href='MonthSellPlan.aspx';</script>");
75
}
76
private void CreateGrid()
77
{
78
bool enabled = true;
79
try
80
{
81
if (Int32.Parse(this.DropDownList2.SelectedItem.Text) < DateTime.Now.Month)
82
enabled = false;
83
else
84
enabled = true;
85
}
86
catch
87
{
88
Response.Write("<script language='javascript'>alert('您还没做半年计划!请做好计划再分配!');location.href='MonthSellPlan.aspx';</script>");
89
}
90
MyRegion
148![](/Images/OutliningIndicators/InBlock.gif)
149
CM.Data.Category.CategoryRoleTableAdapters.CATEGORYROLETA cta = new CM.Data.Category.CategoryRoleTableAdapters.CATEGORYROLETA();
150
dtRole = cta.GetData(this.DropDownList1.SelectedValue);
151
if (dtRole != null)
152
{
153
for (int i = 0; i < dtRole.Rows.Count; i++)
154
{
155
MyRegion
176![](/Images/OutliningIndicators/InBlock.gif)
177
///设置模板列属性和ItemStyle模板
178
///
179
ColumnTextBoxTemplate ctbt1 = new ColumnTextBoxTemplate("FIXQUANTITY" + Convert.ToString(2 * i + 1), "CategoryID" + Convert.ToString(2 * i + 1), false, enabled);
180
TemplateColumn tm1 = new TemplateColumn();
181
tm1.HeaderText = "修正值";
182
tm1.HeaderStyle.BackColor = ColorTranslator.FromHtml("#cccccc");
183
tm1.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
184
//tm1.ItemStyle.BackColor = ColorTranslator.FromHtml("#FFFFFF");
185
tm1.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
186
187![](/Images/OutliningIndicators/InBlock.gif)
188
///创建列模板。
189![](/Images/OutliningIndicators/InBlock.gif)
190
///列模板从ITemplate继承
191
tm1.ItemTemplate = ctbt1;
192
grid.Columns.Add(tm1);
193![](/Images/OutliningIndicators/InBlock.gif)
194
ColumnTextBoxTemplate ctbt2 = new ColumnTextBoxTemplate("ASSIGNMENTQUANTITY" + Convert.ToString(2 * i + 2), "CategoryID" + Convert.ToString(2 * i + 2), false, enabled);
195
TemplateColumn tm2 = new TemplateColumn();
196
tm2.HeaderText = "计划值";
197
tm2.HeaderStyle.BackColor = ColorTranslator.FromHtml("#cccccc");
198
tm2.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
199
//tm2.ItemStyle.BackColor = ColorTranslator.FromHtml("#FFFFFF");
200
tm2.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
201![](/Images/OutliningIndicators/InBlock.gif)
202
///创建列模板。
203![](/Images/OutliningIndicators/InBlock.gif)
204
///列模板从ITemplate继承
205
tm2.ItemTemplate = ctbt2;
206
grid.Columns.Add(tm2);
207
}
208
}
209
BoundColumn columnPriceTotal = new BoundColumn();
210![](/Images/OutliningIndicators/InBlock.gif)
211
columnPriceTotal.HeaderText = "";
212
columnPriceTotal.DataField = "";
213
columnPriceTotal.ItemStyle.ForeColor = Color.Blue;
214
columnPriceTotal.ItemStyle.Font.Bold = true;
215
columnPriceTotal.ItemStyle.HorizontalAlign = HorizontalAlign.Right;
216
grid.Columns.Add(columnPriceTotal);
217
///绑定和返回
218![](/Images/OutliningIndicators/InBlock.gif)
219![](/Images/OutliningIndicators/InBlock.gif)
220
grid.ItemDataBound += new DataGridItemEventHandler(grid_ItemDataBound);
221
222
}
223![](/Images/OutliningIndicators/InBlock.gif)
224
void grid_ItemDataBound(object sender, DataGridItemEventArgs e)
225
{
226
if (e.Item.ItemType == ListItemType.Footer)
227
{
228
e.Item.SetRenderMethodDelegate(new RenderMethod(FootRenderMethod));
229
}
230
}
231![](/Images/OutliningIndicators/InBlock.gif)
232
void grid_ItemCreated(object sender, DataGridItemEventArgs e)
233
{
234
if (e.Item.ItemType == ListItemType.Header)
235
{
236
e.Item.SetRenderMethodDelegate(new RenderMethod(NewRenderMethod));
237
}
238
}
239
private void FootRenderMethod(HtmlTextWriter writer, Control ctl)
240
{
241
writer.Write("<TD style=\"color:#ff0000;\" align=\"center\">总量统计:</TD>\n");
242
for (int i = 0; i < dtRole.Rows.Count; i++)
243
{
244
try
245
{
246
writer.Write("<td style=\"color:#ff0000;\" align=center>");
247![](/Images/OutliningIndicators/InBlock.gif)
248
decimal count1 = 0;
249![](/Images/OutliningIndicators/InBlock.gif)
250
foreach (DataGridItem item in grid.Items)
251
{
252
count1 += decimal.Parse(((TextBox)item.Cells[2 * i + 1].Controls[0]).Text);
253
}
254
writer.Write(count1.ToString());
255
writer.Write("</td>");
256
writer.Write("<td style=\"color:#ff0000;\" align=center>");
257![](/Images/OutliningIndicators/InBlock.gif)
258
decimal count = 0;
259
foreach (DataGridItem item in grid.Items)
260
{
261
count += decimal.Parse(((TextBox)item.Cells[2 * i + 2].Controls[0]).Text);
262
}
263
writer.Write(count.ToString());
264
writer.Write("</td>");
265
}
266
catch
267
{
268
//Response.Write("<script langugage='javascript'>alert('输入的数量格式不正确!');</script>");
269
}
270
}
271
writer.Write("<td style='color:Blue;font-weight:bold;' align='right'></td>");
272
}
273
private void NewRenderMethod(HtmlTextWriter writer, Control ctl)
274
{
275
writer.Write("<TD style=\"color:#ff0000;\" align=\"center\" rowspan=2>价格区间</TD>\n");
276
for (int i = 0; i < dtRole.Rows.Count; i++)
277
{
278
DataTable dt = CM.Data.SellPlan.SellPlan.GetMonthRolePlan(dtRole.Rows[i]["RoleID"].ToString(), this.DropDownList2.SelectedValue);
279
writer.Write("<td style=\"color:#ff0000;\" align=center colspan=2>");
280
if (dt.Rows.Count > 0)
281
{
282
writer.Write(dtRole.Rows[i]["RoleName"] + "[" + dt.Rows[0]["AssignMentQuantity"] + "]");
283
}
284
else
285
{
286
writer.Write(dtRole.Rows[i]["RoleName"] + "[0]");
287
}
288
writer.Write("</td>");
289
}
290
writer.Write("<TD style=\"color:#ff0000;\" align=\"center\" rowspan=2>价格区间<br>计划总计</TD>\n");
291
writer.Write("</tr>");
292
for (int i = 1; i <= ctl.Controls.Count - 2; i++)
293
{
294
ctl.Controls[i].RenderControl(writer);
295
}
296
}
297
protected void DropDownList1_SelectedIndexChanged(object sender, EventArgs e)
298
{
299
this.DropDownList2.DataBind();
300
BindMonthPlan();
301
BindDataView();
302
CheckComment();
303
}
304
public class ColumnTextBoxTemplate : ITemplate
305
{
306
public string columnname = "";
307
public string categoryid = "";
308
public bool islabel = true;//显示修正值为LABEL
309
public bool isenabled = true;//是否可编辑
310
// public string monthplanid = "";
311
/// <summary>
312
///
313
/// </summary>
314
/// <param name="columnName">绑定列字段名</param>
315
public ColumnTextBoxTemplate(string columnName, string categoryID, bool show, bool enabled)
316
{
317
columnname = columnName;
318
categoryid = categoryID;
319
islabel = show;
320
isenabled = enabled;
321
// monthplanid = monthPlanID;
322
}
323![](/Images/OutliningIndicators/InBlock.gif)
324
public void InstantiateIn(Control container)
325
{
326
if (!islabel)
327
{
328
TextBox tb = new TextBox();
329
tb.DataBinding += new EventHandler(tb_DataBinding);
330
tb.Width = 40;
331
container.Controls.Add(tb);
332
}
333
else
334
{
335
Label lb = new Label();
336
lb.DataBinding += new EventHandler(lb_DataBinding);
337
lb.Width = 50;
338
container.Controls.Add(lb);
339
}
340
}
341![](/Images/OutliningIndicators/InBlock.gif)
342
void lb_DataBinding(object sender, EventArgs e)
343
{
344
Label l = (Label)sender;//TextBox发送绑定请求
345![](/Images/OutliningIndicators/InBlock.gif)
346
DataGridItem container = (DataGridItem)l.NamingContainer;
347
l.Text = ((DataRowView)container.DataItem)[columnname].ToString();//绑定字段
348
}
349![](/Images/OutliningIndicators/InBlock.gif)
350
void tb_DataBinding(object sender, EventArgs e)
351
{
352
TextBox l = (TextBox)sender;//TextBox发送绑定请求
353![](/Images/OutliningIndicators/InBlock.gif)
354
DataGridItem container = (DataGridItem)l.NamingContainer;
355
l.Text = ((DataRowView)container.DataItem)[columnname].ToString();//绑定字段
356
l.Enabled = isenabled;
357
l.Attributes.Add("categoryID",((DataRowView)container.DataItem)[categoryid].ToString());//绑定字段
358
l.Attributes.Add("onchange", "javascript:DataGridInputChanged();");
359
}
360
}
361
public DataView CreateSource()
362
{
363
dtPrice = CM.Data.Report.ReportMethod.GetCategoryPrice(this.DropDownList1.SelectedValue);
364
CM.Data.Category.CategoryRoleTableAdapters.CATEGORYROLETA cta = new CM.Data.Category.CategoryRoleTableAdapters.CATEGORYROLETA();
365
dtRole = cta.GetData(this.DropDownList1.SelectedValue);
366
DataTable dt = new DataTable();
367
if (dtRole.Rows.Count > 0)
368
{
369
DataColumn columnPriceID = new DataColumn("CategoryPriceID");
370
dt.Columns.Add(columnPriceID);
371
DataColumn columnPrice = new DataColumn("Name");
372
dt.Columns.Add(columnPrice);
373![](/Images/OutliningIndicators/InBlock.gif)
374
for (int i = 0; i < dtRole.Rows.Count; i++)
375
{
376
//DataColumn column = new DataColumn("FORESTQUANTITY" + Convert.ToString(3 * i + 1));
377
DataColumn column1 = new DataColumn("FIXQUANTITY" + Convert.ToString(2 * i + 1));
378
DataColumn column2 = new DataColumn("ASSIGNMENTQUANTITY" + Convert.ToString(2 * i + 2));
379
DataColumn column3 = new DataColumn("CategoryID" + Convert.ToString(2 * i + 1));
380
DataColumn column4 = new DataColumn("CategoryID" + Convert.ToString(2 * i + 2));
381
//dt.Columns.Add(column);
382
dt.Columns.Add(column1);
383
dt.Columns.Add(column2);
384
dt.Columns.Add(column3);
385
dt.Columns.Add(column4);
386
}
387
}
388
if (dtPrice.Rows.Count > 0)
389
{
390
for (int i = 0; i < dtPrice.Rows.Count; i++)
391
{
392
DataRow row = dt.NewRow();
393
row["CategoryPriceID"] = dtPrice.Rows[i]["CategoryPriceID"].ToString();
394
row["Name"] = dtPrice.Rows[i]["Name"].ToString();
395
if (dtRole.Rows.Count > 0)
396
{
397
for (int j = 0; j < dtRole.Rows.Count; j++)
398
{
399
400
string categoryID = "";
401
DataTable dtCategory = CM.Data.Report.ReportMethod.GetCategory(dtRole.Rows[j]["RoleID"].ToString(), dtPrice.Rows[i]["CategoryPriceID"].ToString());
402
if (dtCategory.Rows.Count > 0)
403
{
404
categoryID = dtCategory.Rows[0]["CategoryID"].ToString();
405![](/Images/OutliningIndicators/InBlock.gif)
406
DataTable dtMonthCategory = CM.Data.SellPlan.SellPlan.GetMonthCategoryPlan(categoryID, this.DropDownList2.SelectedValue);
407
if (dtMonthCategory.Rows.Count > 0)
408
{
409
row["FIXQUANTITY" + Convert.ToString(2 * j + 1)] = dtMonthCategory.Rows[0]["FIXQUANTITY"].ToString();
410
row["ASSIGNMENTQUANTITY" + Convert.ToString(2 * j + 2)] = dtMonthCategory.Rows[0]["ASSIGNMENTQUANTITY"].ToString();
411
}
412
else
413
{
414
DataTable dtMonthCategoryForest = CM.Data.SellPlan.SellPlan.GetMonthCategoryForest(this.DropDownList1.SelectedValue, categoryID);
415
if (dtMonthCategoryForest.Rows.Count > 0)
416
{
417
string forest = (dtMonthCategoryForest.Rows[0]["forestquantity"].ToString() == "") ? "0" : dtMonthCategoryForest.Rows[0]["forestquantity"].ToString();
418
string total = (dtMonthCategoryForest.Rows[0]["total"].ToString() == "" || dtMonthCategoryForest.Rows[0]["total"].ToString() == "0") ? "1" : dtMonthCategoryForest.Rows[0]["total"].ToString();
419
double percent = double.Parse(forest) / double.Parse(total);
420
double fix = double.Parse((this.lbFixQuantity.Text == "") ? "0" : this.lbFixQuantity.Text);
421
double plan = double.Parse((this.lbMonthPlan.Text == "") ? "0" : this.lbMonthPlan.Text);
422
row["FIXQUANTITY" + Convert.ToString(2 * j + 1)] = Convert.ToString(percent * fix).Split('.')[0];
423
row["ASSIGNMENTQUANTITY" + Convert.ToString(2 * j + 2)] = Convert.ToString(percent * plan).Split('.')[0];
424
}
425
else
426
{
427
row["FIXQUANTITY" + Convert.ToString(2 * j + 1)] = 0;
428
row["ASSIGNMENTQUANTITY" + Convert.ToString(2 * j + 2)] = 0;
429
}
430
}
431
row["CategoryID" + Convert.ToString(2 * j + 1)] = dtCategory.Rows[0]["CategoryID"].ToString();
432
row["CategoryID" + Convert.ToString(2 * j + 2)] = dtCategory.Rows[0]["CategoryID"].ToString();
433
}
434
//else
435
//{
436
// //row["FIXQUANTITY" + Convert.ToString(2 * j + 1)] = 0;
437
// //row["ASSIGNMENTQUANTITY" + Convert.ToString(2 * j + 2)] = 0;
438
// //row["CategoryID" + Convert.ToString(2 * j + 1)] = 0;
439
// //row["CategoryID" + Convert.ToString(2 * j + 2)] = 0;
440
// Response.Write("<script language='javascript'>alert('您还没维护好品牌分类组合,请先分好再操作!');location.href='/Start/ProductCategory/CategoryList.aspx';</script>");
441
//}
442
}
443
}
444
dt.Rows.Add(row);
445
}
446
}
447
return dt.DefaultView;
448
}
449
protected void DropDownList2_SelectedIndexChanged(object sender, EventArgs e)
450
{
451
BindMonthPlan();
452
BindDataView();
453
CheckComment();
454
}
455![](/Images/OutliningIndicators/InBlock.gif)
456
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
457
{
458
try
459
{
460
DataGrid dg = grid;
461![](/Images/OutliningIndicators/InBlock.gif)
462
//for (int i = 0; i < dtRole.Rows.Count; i++)
463
//{
464
// decimal listCount = 0;
465
// foreach (DataGridItem item in dg.Items)
466
// {
467
// string tbText = (((TextBox)item.Cells[2 * i + 2].Controls[0]).Text == "") ? "0" : ((TextBox)item.Cells[2 * i + 2].Controls[0]).Text;
468
// listCount += decimal.Parse(tbText);
469
// }
470
// this.Label1.Text += "第<font color=blue>" + Convert.ToString(2 * i + 2) + "</font>列总量为<font color=red>" + listCount.ToString() + "</font>";
471
//}
472
//for (int j = 0; j < dg.Items.Count; j++)
473
//{
474
// decimal rowCount = 0;
475
// for (int i = 0; i < dtRole.Rows.Count; i++)
476
// {
477
// string tbText = (((TextBox)dg.Items[j].Cells[2 * i + 2].Controls[0]).Text == "") ? "0" : ((TextBox)dg.Items[j].Cells[2 * i + 2].Controls[0]).Text;
478
// rowCount += decimal.Parse(tbText);
479
// }
480
// this.Label2.Text += "第<font color=blue>" + j.ToString() + "</font>行总量为<font color=red>" + rowCount.ToString() + "</font>";
481
//}
482
foreach (DataGridItem item in dg.Items)
483
{
484
for (int i = 0; i < dtRole.Rows.Count; i++)
485
{
486
string categoryID = ((TextBox)item.Cells[2 * i + 2].Controls[0]).Attributes["CategoryID"].ToString();
487
decimal fixquantity = decimal.Parse(((TextBox)item.Cells[2 * i + 1].Controls[0]).Text);
488
decimal quantity = decimal.Parse(((TextBox)item.Cells[2 * i + 2].Controls[0]).Text);
489
string monthplanid = this.DropDownList2.SelectedValue;
490
DataTable dtMonthCategory = CM.Data.SellPlan.SellPlan.GetMonthCategoryPlan(categoryID, monthplanid);
491
if (dtMonthCategory.Rows.Count > 0)
492
CM.Data.SellPlan.SellPlan.UpdateMonthCategoryPlan(categoryID, monthplanid, fixquantity, quantity);
493
else
494
CM.Data.SellPlan.SellPlan.AddMonthCategoryPlan(categoryID, monthplanid, fixquantity, quantity);
495
}
496
}
497
BindDataView();
498
CheckComment();
499
Response.Write("<script language='javascript'>alert('保存成功!');</script>");
500
}
501
catch
502
{
503
Response.Write("<script language='javascript'>alert('输入的数量格式不正确!');</script>");
504
}
505
}
506
protected void IBCommand(object sender, CommandEventArgs e)
507
{
508
//CurrentMonth = this.DropDownList2.SelectedItem.Text;
509
string auditingid, applyerid, assessorid, applydate, auditingdate, isapplyed, isaudited, auditedcomment, auditingtype;
510
auditingid = this.DropDownList2.SelectedValue;
511
applyerid = HttpContext.Current.Session["PersonsID"].ToString();
512
assessorid = "";
513
applydate = System.DateTime.Now.ToString("yyyyMMdd");
514
auditingdate = "";
515
isapplyed = "1";
516
isaudited = "-1";
517
auditedcomment = "";
518
auditingtype = ((int)AuditingType.CategoryPlan).ToString();
519![](/Images/OutliningIndicators/InBlock.gif)
520
ArrayList arr = new ArrayList();
521
arr.Add(auditingid);
522
arr.Add(applyerid);
523
arr.Add(assessorid);
524
arr.Add(applydate);
525
arr.Add(auditingdate);
526
arr.Add(isapplyed);
527
arr.Add(isaudited);
528
arr.Add(auditedcomment);
529
arr.Add(auditingtype);
530![](/Images/OutliningIndicators/InBlock.gif)
531
AuditingInfo ainfo = Auditing.GetAuditingInfo(auditingid, AuditingType.CategoryPlan);
532
string cmd = e.CommandName;
533
switch (cmd)
534
{
535
case "Apply":
536
if (ainfo == null)
537
CM.Data.Forest.Auditing.AddAuditingInfo(arr);
538
else
539
CM.Data.Forest.Auditing.UpdateAuditingInfo(auditingid, applyerid, applydate, AuditingType.CategoryPlan);
540
break;
541
case "UnApply":
542
if (ainfo != null)
543
CM.Data.Forest.Auditing.UpdateAuditingInfo(auditingid, AuditingType.CategoryPlan);
544![](/Images/OutliningIndicators/InBlock.gif)
545
break;
546
case "Auditing":
547
if (ainfo != null)
548
{
549
assessorid = HttpContext.Current.Session["PersonsID"].ToString();
550
auditingdate = System.DateTime.Now.ToString("yyyyMMdd");
551
CM.Data.Forest.Auditing.UpdateAuditingInfo1(auditingid, assessorid, auditingdate, AuditingType.CategoryPlan);
552
}
553
break;
554
case "UnAuditing":
555
this.comment.Visible = true;
556
this.ibSubmit.Enabled = true;
557
break;
558
case "UnPass":
559
if (ainfo != null)
560
CM.Data.Forest.Auditing.UpdateAuditingInfo(auditingid, assessorid, auditingdate, this.tbComment.Text.Trim(), AuditingType.CategoryPlan);
561
this.comment.Visible = false;
562
break;
563
}
564
CheckComment();
565
BindDataView();
566
}
567![](/Images/OutliningIndicators/InBlock.gif)
568
protected void CheckComment()
569
{
570
this.lbUnAuditingComment.Text = "";
571
this.ibApply.Enabled = false;
572
this.ibUnApply.Enabled = false;
573
this.ibAuditing.Enabled = false;
574
this.ibUnAuditing.Enabled = false;
575
AuditingInfo ainfo = Auditing.GetAuditingInfo(this.DropDownList2.SelectedValue, AuditingType.CategoryPlan);
576
if (ainfo == null)
577
{
578
this.ibApply.Enabled = true;
579
this.lbUnAuditingComment.Text = "还未提交审核!";
580
}
581
else
582
{
583
if (ainfo.isApplyed == "0")
584
{
585
this.ibApply.Enabled = true;
586
this.lbUnAuditingComment.Text = "已撤消审核!";
587
}
588
else
589
{
590
this.ibApply.Enabled = false;
591
this.ibUnApply.Enabled = true;
592
this.ibAuditing.Enabled = true;
593
this.ibUnAuditing.Enabled = true;
594
if (ainfo.isAudited == "0")
595
{
596
this.ibUnAuditing.Enabled = false;
597
this.lbUnAuditingComment.Text = "不通过原因:<font color=red>" + ainfo.auditedComment + "</font>";
598
}
599
if (ainfo.isAudited == "1")
600
{
601
this.lbUnAuditingComment.Text = "已通过审核";
602
this.ibUnApply.Enabled = false;
603
this.ibAuditing.Enabled = false;
604
}
605
if (ainfo.isAudited == "-1")
606
{
607
this.lbUnAuditingComment.Text = "未审核";
608
}
609
}
610
}
611
//this.ibApply.Enabled = HasPermissions.HasPermission(CM.Data.UserRolePermission.CategoryForcast.结构预测申请审核);
612
//this.ibUnApply.Enabled = HasPermissions.HasPermission(CM.Data.UserRolePermission.CategoryForcast.结构预测撤消申请审核);
613
//this.ibAuditing.Enabled = HasPermissions.HasPermission(CM.Data.UserRolePermission.CategoryForcast.结构预测审核通过);
614
//this.ibUnAuditing.Enabled = HasPermissions.HasPermission(CM.Data.UserRolePermission.CategoryForcast.结构预测审核不通过);
615
}
616
}
617![](/Images/OutliningIndicators/None.gif)
程序写的比较繁琐,多次绑定了datagrid,不知哪位高手可以给个精简一点的方法.
![](/Images/OutliningIndicators/None.gif)
2
![](/Images/OutliningIndicators/None.gif)
3
![](/Images/OutliningIndicators/None.gif)
4
![](/Images/OutliningIndicators/None.gif)
5
![](/Images/OutliningIndicators/None.gif)
6
![](/Images/OutliningIndicators/None.gif)
7
![](/Images/OutliningIndicators/None.gif)
8
![](/Images/OutliningIndicators/None.gif)
9
![](/Images/OutliningIndicators/None.gif)
10
![](/Images/OutliningIndicators/None.gif)
11
![](/Images/OutliningIndicators/None.gif)
12
![](/Images/OutliningIndicators/None.gif)
13
![](/Images/OutliningIndicators/None.gif)
14
![](/Images/OutliningIndicators/None.gif)
15
![](/Images/OutliningIndicators/None.gif)
16
![](/Images/OutliningIndicators/ExpandedBlockStart.gif)
17
![](/Images/OutliningIndicators/InBlock.gif)
18
![](/Images/OutliningIndicators/InBlock.gif)
19
![](/Images/OutliningIndicators/InBlock.gif)
20
![](/Images/OutliningIndicators/InBlock.gif)
21
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
22
![](/Images/OutliningIndicators/InBlock.gif)
23
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
24
![](/Images/OutliningIndicators/InBlock.gif)
25
![](/Images/OutliningIndicators/InBlock.gif)
26
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
27
![](/Images/OutliningIndicators/InBlock.gif)
28
![](/Images/OutliningIndicators/InBlock.gif)
29
![](/Images/OutliningIndicators/InBlock.gif)
30
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
31
![](/Images/OutliningIndicators/InBlock.gif)
32
![](/Images/OutliningIndicators/InBlock.gif)
33
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
34
![](/Images/OutliningIndicators/InBlock.gif)
35
![](/Images/OutliningIndicators/InBlock.gif)
36
![](/Images/OutliningIndicators/InBlock.gif)
37
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
38
![](/Images/OutliningIndicators/InBlock.gif)
39
![](/Images/OutliningIndicators/InBlock.gif)
40
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
41
![](/Images/OutliningIndicators/InBlock.gif)
42
![](/Images/OutliningIndicators/InBlock.gif)
43
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
44
![](/Images/OutliningIndicators/InBlock.gif)
45
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
46
![](/Images/OutliningIndicators/InBlock.gif)
47
![](/Images/OutliningIndicators/InBlock.gif)
48
![](/Images/OutliningIndicators/InBlock.gif)
49
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
50
![](/Images/OutliningIndicators/InBlock.gif)
51
![](/Images/OutliningIndicators/InBlock.gif)
52
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
53
![](/Images/OutliningIndicators/InBlock.gif)
54
![](/Images/OutliningIndicators/InBlock.gif)
55
![](/Images/OutliningIndicators/InBlock.gif)
56
![](/Images/OutliningIndicators/InBlock.gif)
57
![](/Images/OutliningIndicators/InBlock.gif)
58
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
59
![](/Images/OutliningIndicators/InBlock.gif)
60
![](/Images/OutliningIndicators/InBlock.gif)
61
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
62
![](/Images/OutliningIndicators/InBlock.gif)
63
![](/Images/OutliningIndicators/InBlock.gif)
64
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
65
![](/Images/OutliningIndicators/InBlock.gif)
66
![](/Images/OutliningIndicators/InBlock.gif)
67
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
68
![](/Images/OutliningIndicators/InBlock.gif)
69
![](/Images/OutliningIndicators/InBlock.gif)
70
![](/Images/OutliningIndicators/InBlock.gif)
71
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
72
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
73
![](/Images/OutliningIndicators/InBlock.gif)
74
![](/Images/OutliningIndicators/InBlock.gif)
75
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
76
![](/Images/OutliningIndicators/InBlock.gif)
77
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
78
![](/Images/OutliningIndicators/InBlock.gif)
79
![](/Images/OutliningIndicators/InBlock.gif)
80
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
81
![](/Images/OutliningIndicators/InBlock.gif)
82
![](/Images/OutliningIndicators/InBlock.gif)
83
![](/Images/OutliningIndicators/InBlock.gif)
84
![](/Images/OutliningIndicators/InBlock.gif)
85
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
86
![](/Images/OutliningIndicators/InBlock.gif)
87
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
88
![](/Images/OutliningIndicators/InBlock.gif)
89
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
90
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
148
![](/Images/OutliningIndicators/InBlock.gif)
149
![](/Images/OutliningIndicators/InBlock.gif)
150
![](/Images/OutliningIndicators/InBlock.gif)
151
![](/Images/OutliningIndicators/InBlock.gif)
152
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
153
![](/Images/OutliningIndicators/InBlock.gif)
154
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
155
![](/Images/OutliningIndicators/ContractedSubBlock.gif)
176
![](/Images/OutliningIndicators/InBlock.gif)
177
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
178
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
179
![](/Images/OutliningIndicators/InBlock.gif)
180
![](/Images/OutliningIndicators/InBlock.gif)
181
![](/Images/OutliningIndicators/InBlock.gif)
182
![](/Images/OutliningIndicators/InBlock.gif)
183
![](/Images/OutliningIndicators/InBlock.gif)
184
![](/Images/OutliningIndicators/InBlock.gif)
185
![](/Images/OutliningIndicators/InBlock.gif)
186
![](/Images/OutliningIndicators/InBlock.gif)
187
![](/Images/OutliningIndicators/InBlock.gif)
188
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
189
![](/Images/OutliningIndicators/InBlock.gif)
190
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
191
![](/Images/OutliningIndicators/InBlock.gif)
192
![](/Images/OutliningIndicators/InBlock.gif)
193
![](/Images/OutliningIndicators/InBlock.gif)
194
![](/Images/OutliningIndicators/InBlock.gif)
195
![](/Images/OutliningIndicators/InBlock.gif)
196
![](/Images/OutliningIndicators/InBlock.gif)
197
![](/Images/OutliningIndicators/InBlock.gif)
198
![](/Images/OutliningIndicators/InBlock.gif)
199
![](/Images/OutliningIndicators/InBlock.gif)
200
![](/Images/OutliningIndicators/InBlock.gif)
201
![](/Images/OutliningIndicators/InBlock.gif)
202
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
203
![](/Images/OutliningIndicators/InBlock.gif)
204
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
205
![](/Images/OutliningIndicators/InBlock.gif)
206
![](/Images/OutliningIndicators/InBlock.gif)
207
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
208
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
209
![](/Images/OutliningIndicators/InBlock.gif)
210
![](/Images/OutliningIndicators/InBlock.gif)
211
![](/Images/OutliningIndicators/InBlock.gif)
212
![](/Images/OutliningIndicators/InBlock.gif)
213
![](/Images/OutliningIndicators/InBlock.gif)
214
![](/Images/OutliningIndicators/InBlock.gif)
215
![](/Images/OutliningIndicators/InBlock.gif)
216
![](/Images/OutliningIndicators/InBlock.gif)
217
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
218
![](/Images/OutliningIndicators/InBlock.gif)
219
![](/Images/OutliningIndicators/InBlock.gif)
220
![](/Images/OutliningIndicators/InBlock.gif)
221
![](/Images/OutliningIndicators/InBlock.gif)
222
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
223
![](/Images/OutliningIndicators/InBlock.gif)
224
![](/Images/OutliningIndicators/InBlock.gif)
225
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
226
![](/Images/OutliningIndicators/InBlock.gif)
227
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
228
![](/Images/OutliningIndicators/InBlock.gif)
229
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
230
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
231
![](/Images/OutliningIndicators/InBlock.gif)
232
![](/Images/OutliningIndicators/InBlock.gif)
233
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
234
![](/Images/OutliningIndicators/InBlock.gif)
235
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
236
![](/Images/OutliningIndicators/InBlock.gif)
237
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
238
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
239
![](/Images/OutliningIndicators/InBlock.gif)
240
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
241
![](/Images/OutliningIndicators/InBlock.gif)
242
![](/Images/OutliningIndicators/InBlock.gif)
243
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
244
![](/Images/OutliningIndicators/InBlock.gif)
245
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
246
![](/Images/OutliningIndicators/InBlock.gif)
247
![](/Images/OutliningIndicators/InBlock.gif)
248
![](/Images/OutliningIndicators/InBlock.gif)
249
![](/Images/OutliningIndicators/InBlock.gif)
250
![](/Images/OutliningIndicators/InBlock.gif)
251
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
252
![](/Images/OutliningIndicators/InBlock.gif)
253
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
254
![](/Images/OutliningIndicators/InBlock.gif)
255
![](/Images/OutliningIndicators/InBlock.gif)
256
![](/Images/OutliningIndicators/InBlock.gif)
257
![](/Images/OutliningIndicators/InBlock.gif)
258
![](/Images/OutliningIndicators/InBlock.gif)
259
![](/Images/OutliningIndicators/InBlock.gif)
260
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
261
![](/Images/OutliningIndicators/InBlock.gif)
262
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
263
![](/Images/OutliningIndicators/InBlock.gif)
264
![](/Images/OutliningIndicators/InBlock.gif)
265
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
266
![](/Images/OutliningIndicators/InBlock.gif)
267
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
268
![](/Images/OutliningIndicators/InBlock.gif)
269
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
270
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
271
![](/Images/OutliningIndicators/InBlock.gif)
272
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
273
![](/Images/OutliningIndicators/InBlock.gif)
274
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
275
![](/Images/OutliningIndicators/InBlock.gif)
276
![](/Images/OutliningIndicators/InBlock.gif)
277
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
278
![](/Images/OutliningIndicators/InBlock.gif)
279
![](/Images/OutliningIndicators/InBlock.gif)
280
![](/Images/OutliningIndicators/InBlock.gif)
281
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
282
![](/Images/OutliningIndicators/InBlock.gif)
283
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
284
![](/Images/OutliningIndicators/InBlock.gif)
285
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
286
![](/Images/OutliningIndicators/InBlock.gif)
287
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
288
![](/Images/OutliningIndicators/InBlock.gif)
289
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
290
![](/Images/OutliningIndicators/InBlock.gif)
291
![](/Images/OutliningIndicators/InBlock.gif)
292
![](/Images/OutliningIndicators/InBlock.gif)
293
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
294
![](/Images/OutliningIndicators/InBlock.gif)
295
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
296
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
297
![](/Images/OutliningIndicators/InBlock.gif)
298
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
299
![](/Images/OutliningIndicators/InBlock.gif)
300
![](/Images/OutliningIndicators/InBlock.gif)
301
![](/Images/OutliningIndicators/InBlock.gif)
302
![](/Images/OutliningIndicators/InBlock.gif)
303
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
304
![](/Images/OutliningIndicators/InBlock.gif)
305
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
306
![](/Images/OutliningIndicators/InBlock.gif)
307
![](/Images/OutliningIndicators/InBlock.gif)
308
![](/Images/OutliningIndicators/InBlock.gif)
309
![](/Images/OutliningIndicators/InBlock.gif)
310
![](/Images/OutliningIndicators/InBlock.gif)
311
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
312
![](/Images/OutliningIndicators/InBlock.gif)
313
![](/Images/OutliningIndicators/InBlock.gif)
314
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
315
![](/Images/OutliningIndicators/InBlock.gif)
316
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
317
![](/Images/OutliningIndicators/InBlock.gif)
318
![](/Images/OutliningIndicators/InBlock.gif)
319
![](/Images/OutliningIndicators/InBlock.gif)
320
![](/Images/OutliningIndicators/InBlock.gif)
321
![](/Images/OutliningIndicators/InBlock.gif)
322
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
323
![](/Images/OutliningIndicators/InBlock.gif)
324
![](/Images/OutliningIndicators/InBlock.gif)
325
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
326
![](/Images/OutliningIndicators/InBlock.gif)
327
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
328
![](/Images/OutliningIndicators/InBlock.gif)
329
![](/Images/OutliningIndicators/InBlock.gif)
330
![](/Images/OutliningIndicators/InBlock.gif)
331
![](/Images/OutliningIndicators/InBlock.gif)
332
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
333
![](/Images/OutliningIndicators/InBlock.gif)
334
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
335
![](/Images/OutliningIndicators/InBlock.gif)
336
![](/Images/OutliningIndicators/InBlock.gif)
337
![](/Images/OutliningIndicators/InBlock.gif)
338
![](/Images/OutliningIndicators/InBlock.gif)
339
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
340
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
341
![](/Images/OutliningIndicators/InBlock.gif)
342
![](/Images/OutliningIndicators/InBlock.gif)
343
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
344
![](/Images/OutliningIndicators/InBlock.gif)
345
![](/Images/OutliningIndicators/InBlock.gif)
346
![](/Images/OutliningIndicators/InBlock.gif)
347
![](/Images/OutliningIndicators/InBlock.gif)
348
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
349
![](/Images/OutliningIndicators/InBlock.gif)
350
![](/Images/OutliningIndicators/InBlock.gif)
351
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
352
![](/Images/OutliningIndicators/InBlock.gif)
353
![](/Images/OutliningIndicators/InBlock.gif)
354
![](/Images/OutliningIndicators/InBlock.gif)
355
![](/Images/OutliningIndicators/InBlock.gif)
356
![](/Images/OutliningIndicators/InBlock.gif)
357
![](/Images/OutliningIndicators/InBlock.gif)
358
![](/Images/OutliningIndicators/InBlock.gif)
359
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
360
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
361
![](/Images/OutliningIndicators/InBlock.gif)
362
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
363
![](/Images/OutliningIndicators/InBlock.gif)
364
![](/Images/OutliningIndicators/InBlock.gif)
365
![](/Images/OutliningIndicators/InBlock.gif)
366
![](/Images/OutliningIndicators/InBlock.gif)
367
![](/Images/OutliningIndicators/InBlock.gif)
368
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
369
![](/Images/OutliningIndicators/InBlock.gif)
370
![](/Images/OutliningIndicators/InBlock.gif)
371
![](/Images/OutliningIndicators/InBlock.gif)
372
![](/Images/OutliningIndicators/InBlock.gif)
373
![](/Images/OutliningIndicators/InBlock.gif)
374
![](/Images/OutliningIndicators/InBlock.gif)
375
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
376
![](/Images/OutliningIndicators/InBlock.gif)
377
![](/Images/OutliningIndicators/InBlock.gif)
378
![](/Images/OutliningIndicators/InBlock.gif)
379
![](/Images/OutliningIndicators/InBlock.gif)
380
![](/Images/OutliningIndicators/InBlock.gif)
381
![](/Images/OutliningIndicators/InBlock.gif)
382
![](/Images/OutliningIndicators/InBlock.gif)
383
![](/Images/OutliningIndicators/InBlock.gif)
384
![](/Images/OutliningIndicators/InBlock.gif)
385
![](/Images/OutliningIndicators/InBlock.gif)
386
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
387
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
388
![](/Images/OutliningIndicators/InBlock.gif)
389
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
390
![](/Images/OutliningIndicators/InBlock.gif)
391
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
392
![](/Images/OutliningIndicators/InBlock.gif)
393
![](/Images/OutliningIndicators/InBlock.gif)
394
![](/Images/OutliningIndicators/InBlock.gif)
395
![](/Images/OutliningIndicators/InBlock.gif)
396
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
397
![](/Images/OutliningIndicators/InBlock.gif)
398
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
399
![](/Images/OutliningIndicators/InBlock.gif)
400
![](/Images/OutliningIndicators/InBlock.gif)
401
![](/Images/OutliningIndicators/InBlock.gif)
402
![](/Images/OutliningIndicators/InBlock.gif)
403
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
404
![](/Images/OutliningIndicators/InBlock.gif)
405
![](/Images/OutliningIndicators/InBlock.gif)
406
![](/Images/OutliningIndicators/InBlock.gif)
407
![](/Images/OutliningIndicators/InBlock.gif)
408
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
409
![](/Images/OutliningIndicators/InBlock.gif)
410
![](/Images/OutliningIndicators/InBlock.gif)
411
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
412
![](/Images/OutliningIndicators/InBlock.gif)
413
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
414
![](/Images/OutliningIndicators/InBlock.gif)
415
![](/Images/OutliningIndicators/InBlock.gif)
416
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
417
![](/Images/OutliningIndicators/InBlock.gif)
418
![](/Images/OutliningIndicators/InBlock.gif)
419
![](/Images/OutliningIndicators/InBlock.gif)
420
![](/Images/OutliningIndicators/InBlock.gif)
421
![](/Images/OutliningIndicators/InBlock.gif)
422
![](/Images/OutliningIndicators/InBlock.gif)
423
![](/Images/OutliningIndicators/InBlock.gif)
424
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
425
![](/Images/OutliningIndicators/InBlock.gif)
426
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
427
![](/Images/OutliningIndicators/InBlock.gif)
428
![](/Images/OutliningIndicators/InBlock.gif)
429
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
430
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
431
![](/Images/OutliningIndicators/InBlock.gif)
432
![](/Images/OutliningIndicators/InBlock.gif)
433
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
434
![](/Images/OutliningIndicators/InBlock.gif)
435
![](/Images/OutliningIndicators/InBlock.gif)
436
![](/Images/OutliningIndicators/InBlock.gif)
437
![](/Images/OutliningIndicators/InBlock.gif)
438
![](/Images/OutliningIndicators/InBlock.gif)
439
![](/Images/OutliningIndicators/InBlock.gif)
440
![](/Images/OutliningIndicators/InBlock.gif)
441
![](/Images/OutliningIndicators/InBlock.gif)
442
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
443
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
444
![](/Images/OutliningIndicators/InBlock.gif)
445
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
446
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
447
![](/Images/OutliningIndicators/InBlock.gif)
448
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
449
![](/Images/OutliningIndicators/InBlock.gif)
450
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
451
![](/Images/OutliningIndicators/InBlock.gif)
452
![](/Images/OutliningIndicators/InBlock.gif)
453
![](/Images/OutliningIndicators/InBlock.gif)
454
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
455
![](/Images/OutliningIndicators/InBlock.gif)
456
![](/Images/OutliningIndicators/InBlock.gif)
457
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
458
![](/Images/OutliningIndicators/InBlock.gif)
459
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
460
![](/Images/OutliningIndicators/InBlock.gif)
461
![](/Images/OutliningIndicators/InBlock.gif)
462
![](/Images/OutliningIndicators/InBlock.gif)
463
![](/Images/OutliningIndicators/InBlock.gif)
464
![](/Images/OutliningIndicators/InBlock.gif)
465
![](/Images/OutliningIndicators/InBlock.gif)
466
![](/Images/OutliningIndicators/InBlock.gif)
467
![](/Images/OutliningIndicators/InBlock.gif)
468
![](/Images/OutliningIndicators/InBlock.gif)
469
![](/Images/OutliningIndicators/InBlock.gif)
470
![](/Images/OutliningIndicators/InBlock.gif)
471
![](/Images/OutliningIndicators/InBlock.gif)
472
![](/Images/OutliningIndicators/InBlock.gif)
473
![](/Images/OutliningIndicators/InBlock.gif)
474
![](/Images/OutliningIndicators/InBlock.gif)
475
![](/Images/OutliningIndicators/InBlock.gif)
476
![](/Images/OutliningIndicators/InBlock.gif)
477
![](/Images/OutliningIndicators/InBlock.gif)
478
![](/Images/OutliningIndicators/InBlock.gif)
479
![](/Images/OutliningIndicators/InBlock.gif)
480
![](/Images/OutliningIndicators/InBlock.gif)
481
![](/Images/OutliningIndicators/InBlock.gif)
482
![](/Images/OutliningIndicators/InBlock.gif)
483
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
484
![](/Images/OutliningIndicators/InBlock.gif)
485
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
486
![](/Images/OutliningIndicators/InBlock.gif)
487
![](/Images/OutliningIndicators/InBlock.gif)
488
![](/Images/OutliningIndicators/InBlock.gif)
489
![](/Images/OutliningIndicators/InBlock.gif)
490
![](/Images/OutliningIndicators/InBlock.gif)
491
![](/Images/OutliningIndicators/InBlock.gif)
492
![](/Images/OutliningIndicators/InBlock.gif)
493
![](/Images/OutliningIndicators/InBlock.gif)
494
![](/Images/OutliningIndicators/InBlock.gif)
495
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
496
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
497
![](/Images/OutliningIndicators/InBlock.gif)
498
![](/Images/OutliningIndicators/InBlock.gif)
499
![](/Images/OutliningIndicators/InBlock.gif)
500
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
501
![](/Images/OutliningIndicators/InBlock.gif)
502
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
503
![](/Images/OutliningIndicators/InBlock.gif)
504
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
505
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
506
![](/Images/OutliningIndicators/InBlock.gif)
507
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
508
![](/Images/OutliningIndicators/InBlock.gif)
509
![](/Images/OutliningIndicators/InBlock.gif)
510
![](/Images/OutliningIndicators/InBlock.gif)
511
![](/Images/OutliningIndicators/InBlock.gif)
512
![](/Images/OutliningIndicators/InBlock.gif)
513
![](/Images/OutliningIndicators/InBlock.gif)
514
![](/Images/OutliningIndicators/InBlock.gif)
515
![](/Images/OutliningIndicators/InBlock.gif)
516
![](/Images/OutliningIndicators/InBlock.gif)
517
![](/Images/OutliningIndicators/InBlock.gif)
518
![](/Images/OutliningIndicators/InBlock.gif)
519
![](/Images/OutliningIndicators/InBlock.gif)
520
![](/Images/OutliningIndicators/InBlock.gif)
521
![](/Images/OutliningIndicators/InBlock.gif)
522
![](/Images/OutliningIndicators/InBlock.gif)
523
![](/Images/OutliningIndicators/InBlock.gif)
524
![](/Images/OutliningIndicators/InBlock.gif)
525
![](/Images/OutliningIndicators/InBlock.gif)
526
![](/Images/OutliningIndicators/InBlock.gif)
527
![](/Images/OutliningIndicators/InBlock.gif)
528
![](/Images/OutliningIndicators/InBlock.gif)
529
![](/Images/OutliningIndicators/InBlock.gif)
530
![](/Images/OutliningIndicators/InBlock.gif)
531
![](/Images/OutliningIndicators/InBlock.gif)
532
![](/Images/OutliningIndicators/InBlock.gif)
533
![](/Images/OutliningIndicators/InBlock.gif)
534
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
535
![](/Images/OutliningIndicators/InBlock.gif)
536
![](/Images/OutliningIndicators/InBlock.gif)
537
![](/Images/OutliningIndicators/InBlock.gif)
538
![](/Images/OutliningIndicators/InBlock.gif)
539
![](/Images/OutliningIndicators/InBlock.gif)
540
![](/Images/OutliningIndicators/InBlock.gif)
541
![](/Images/OutliningIndicators/InBlock.gif)
542
![](/Images/OutliningIndicators/InBlock.gif)
543
![](/Images/OutliningIndicators/InBlock.gif)
544
![](/Images/OutliningIndicators/InBlock.gif)
545
![](/Images/OutliningIndicators/InBlock.gif)
546
![](/Images/OutliningIndicators/InBlock.gif)
547
![](/Images/OutliningIndicators/InBlock.gif)
548
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
549
![](/Images/OutliningIndicators/InBlock.gif)
550
![](/Images/OutliningIndicators/InBlock.gif)
551
![](/Images/OutliningIndicators/InBlock.gif)
552
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
553
![](/Images/OutliningIndicators/InBlock.gif)
554
![](/Images/OutliningIndicators/InBlock.gif)
555
![](/Images/OutliningIndicators/InBlock.gif)
556
![](/Images/OutliningIndicators/InBlock.gif)
557
![](/Images/OutliningIndicators/InBlock.gif)
558
![](/Images/OutliningIndicators/InBlock.gif)
559
![](/Images/OutliningIndicators/InBlock.gif)
560
![](/Images/OutliningIndicators/InBlock.gif)
561
![](/Images/OutliningIndicators/InBlock.gif)
562
![](/Images/OutliningIndicators/InBlock.gif)
563
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
564
![](/Images/OutliningIndicators/InBlock.gif)
565
![](/Images/OutliningIndicators/InBlock.gif)
566
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
567
![](/Images/OutliningIndicators/InBlock.gif)
568
![](/Images/OutliningIndicators/InBlock.gif)
569
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
570
![](/Images/OutliningIndicators/InBlock.gif)
571
![](/Images/OutliningIndicators/InBlock.gif)
572
![](/Images/OutliningIndicators/InBlock.gif)
573
![](/Images/OutliningIndicators/InBlock.gif)
574
![](/Images/OutliningIndicators/InBlock.gif)
575
![](/Images/OutliningIndicators/InBlock.gif)
576
![](/Images/OutliningIndicators/InBlock.gif)
577
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
578
![](/Images/OutliningIndicators/InBlock.gif)
579
![](/Images/OutliningIndicators/InBlock.gif)
580
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
581
![](/Images/OutliningIndicators/InBlock.gif)
582
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
583
![](/Images/OutliningIndicators/InBlock.gif)
584
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
585
![](/Images/OutliningIndicators/InBlock.gif)
586
![](/Images/OutliningIndicators/InBlock.gif)
587
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
588
![](/Images/OutliningIndicators/InBlock.gif)
589
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
590
![](/Images/OutliningIndicators/InBlock.gif)
591
![](/Images/OutliningIndicators/InBlock.gif)
592
![](/Images/OutliningIndicators/InBlock.gif)
593
![](/Images/OutliningIndicators/InBlock.gif)
594
![](/Images/OutliningIndicators/InBlock.gif)
595
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
596
![](/Images/OutliningIndicators/InBlock.gif)
597
![](/Images/OutliningIndicators/InBlock.gif)
598
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
599
![](/Images/OutliningIndicators/InBlock.gif)
600
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
601
![](/Images/OutliningIndicators/InBlock.gif)
602
![](/Images/OutliningIndicators/InBlock.gif)
603
![](/Images/OutliningIndicators/InBlock.gif)
604
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
605
![](/Images/OutliningIndicators/InBlock.gif)
606
![](/Images/OutliningIndicators/ExpandedSubBlockStart.gif)
607
![](/Images/OutliningIndicators/InBlock.gif)
608
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
609
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
610
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
611
![](/Images/OutliningIndicators/InBlock.gif)
612
![](/Images/OutliningIndicators/InBlock.gif)
613
![](/Images/OutliningIndicators/InBlock.gif)
614
![](/Images/OutliningIndicators/InBlock.gif)
615
![](/Images/OutliningIndicators/ExpandedSubBlockEnd.gif)
616
![](/Images/OutliningIndicators/ExpandedBlockEnd.gif)
617
![](/Images/OutliningIndicators/None.gif)