質問編集履歴

7

コードの追記

2021/11/08 03:37

投稿

kentasuzuki_
kentasuzuki_

スコア28

test CHANGED
File without changes
test CHANGED
@@ -260,6 +260,24 @@
260
260
 
261
261
  --添付ファイルダウンロードリンクのクリックイベントend--
262
262
 
263
+
264
+
265
+
266
+
267
+
268
+
269
+ --添付ファイル情報 行コマンド実行時処理イベントstart--
270
+
271
+ pretected void AttachmentGridView_RowCommand(object sender, GridViewCommandEventArgs e)
272
+
273
+ {
274
+
275
+ if(e.CommandName="FileDownload")
276
+
277
+ DownloadFile(int.Parse(e.CommandArgument.ToString()));
278
+
279
+ }
280
+
263
281
  --test.aspx.cs end--
264
282
 
265
283
 

6

コードの追記

2021/11/08 03:36

投稿

kentasuzuki_
kentasuzuki_

スコア28

test CHANGED
File without changes
test CHANGED
@@ -56,7 +56,7 @@
56
56
 
57
57
 
58
58
 
59
- test.aspx
59
+ test.aspx start--
60
60
 
61
61
  //フロント側の最終承認ボタンになります。
62
62
 
@@ -72,6 +72,30 @@
72
72
 
73
73
 
74
74
 
75
+ //フロント側の添付ファイルダウンロードボタンになります。
76
+
77
+ <cc1:GridViewEx ID="AttachmentGridView" runat="server" CssClass="list-table" AutoGenerateColumns="false" OnRowCommand="AttachmentGridView_RowCommand" OnRowCommand="AttachmentGridView_RowDataBound" >
78
+
79
+ <Columns>
80
+
81
+ <asp:TemplateField ItemStyle-CssClass="download">
82
+
83
+ <ItemTemplate>
84
+
85
+ <asp:LinkButton ID="DownloadLinkButton" runat="server" Text="ダウンロード" CommandName="FileDownload" CommandArgument='<%# Eval("Index") %>'/>
86
+
87
+ </ItemTemplate>
88
+
89
+ </asp:TemplateField>
90
+
91
+ </Columns>
92
+
93
+ </cc1:cc1:GridViewEx>
94
+
95
+ test.aspx end--
96
+
97
+
98
+
75
99
  --test.aspx.cs start--
76
100
 
77
101
  --最終承認ボタンクリックイベントstart--

5

コードの追記

2021/11/08 03:27

投稿

kentasuzuki_
kentasuzuki_

スコア28

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,26 @@
54
54
 
55
55
  ```ここに言語を入力
56
56
 
57
+
58
+
59
+ test.aspx
60
+
61
+ //フロント側の最終承認ボタンになります。
62
+
63
+ <div class= "button-area" id="ButtonArea" runat="server">
64
+
65
+ <asp:LinkButton ID="FinalApprovalLinkButton" runat="server" Text="最終承認" CssClass="button final-approval" Onclick="FinalApprovalLinkButton_Click"/>
66
+
67
+ </div>
68
+
69
+
70
+
71
+
72
+
73
+
74
+
75
+ --test.aspx.cs start--
76
+
57
77
  --最終承認ボタンクリックイベントstart--
58
78
 
59
79
  protected void FinalApprovalLinkButton_Click(object sender, EventArgs e)
@@ -216,7 +236,7 @@
216
236
 
217
237
  --添付ファイルダウンロードリンクのクリックイベントend--
218
238
 
219
-
239
+ --test.aspx.cs end--
220
240
 
221
241
 
222
242
 

4

改行などの修正

2021/11/08 03:09

投稿

kentasuzuki_
kentasuzuki_

スコア28

test CHANGED
File without changes
test CHANGED
@@ -44,6 +44,16 @@
44
44
 
45
45
 
46
46
 
47
+
48
+
49
+
50
+
51
+
52
+
53
+
54
+
55
+ ```ここに言語を入力
56
+
47
57
  --最終承認ボタンクリックイベントstart--
48
58
 
49
59
  protected void FinalApprovalLinkButton_Click(object sender, EventArgs e)
@@ -98,10 +108,10 @@
98
108
 
99
109
 
100
110
 
111
+
112
+
101
113
  --最終承認処理関数の中身start--
102
114
 
103
-
104
-
105
115
  private bool ApproveFinal(out int newDemandPeriod, out int newDemandNumber)
106
116
 
107
117
  {
@@ -170,15 +180,15 @@
170
180
 
171
181
  --添付ファイルダウンロードリンクのクリックイベントstart--
172
182
 
173
-
174
-
175
183
  //indexの引数に入ってくる値はGridViewの行数になります
176
184
 
177
185
  private void DownloadFile(int index)
178
186
 
179
187
  {
180
188
 
181
- //最新の申請番号を取得
189
+ //最新の申請番号を取得したいのですが、方法が分かりません。```ここに言語を入力
190
+
191
+
182
192
 
183
193
  int newDemandPeriod = ?;
184
194
 
@@ -212,6 +222,8 @@
212
222
 
213
223
 
214
224
 
225
+ ```
226
+
215
227
 
216
228
 
217
229
 

3

コードの追加

2021/11/08 02:28

投稿

kentasuzuki_
kentasuzuki_

スコア28

test CHANGED
File without changes
test CHANGED
@@ -46,11 +46,51 @@
46
46
 
47
47
  --最終承認ボタンクリックイベントstart--
48
48
 
49
+ protected void FinalApprovalLinkButton_Click(object sender, EventArgs e)
50
+
51
+ {
52
+
49
- 既存の申請番号を取得し、新しい申請番号に振り替えています。
53
+ // 新しい申請番号
50
-
54
+
51
- この時に既にテーブルに登録されていた既存申請番号から新しい申請番号にアップデートをしています。
55
+ int newDemandPeriod; →この初期値はnullです。
56
+
52
-
57
+ int newDemandNumber; →この値の初期値はnullです。
58
+
59
+
60
+
61
+ //最終承認処理
62
+
63
+ if (!ApproveFinal(out newDemandPeriod, out newDemandNumber))
64
+
65
+ return;
66
+
67
+
68
+
69
+
70
+
71
+ /古い申請番号を取得
72
+
73
+ int oldDemandPeriod = int.Parse(Request.QueryString["Period"];
74
+
75
+ int oldDemandNumber = int.Parse(Request.QueryString["Number"];
76
+
77
+
78
+
53
- そして、新しい申請番号を取得し、既存の添付ファイルに新しい申請番号の付けていま
79
+ //既存の添付ファイル名を変更る処理
80
+
81
+ //ここの処理は参考までに記載しております。
82
+
83
+ if (RenameAttachedFiles(oldDemandPeriod, oldDemandNumber, newDemandPeriod, newDemandNumber))
84
+
85
+ {
86
+
87
+ return;
88
+
89
+ }
90
+
91
+
92
+
93
+ }
54
94
 
55
95
  --最終承認ボタンクリックイベントend--
56
96
 
@@ -58,11 +98,111 @@
58
98
 
59
99
 
60
100
 
101
+ --最終承認処理関数の中身start--
102
+
103
+
104
+
105
+ private bool ApproveFinal(out int newDemandPeriod, out int newDemandNumber)
106
+
107
+ {
108
+
109
+ //トランザクション管理は割愛させていただきます。
110
+
111
+
112
+
113
+
114
+
115
+ //最新の申請番号_期番を取得
116
+
117
+ //GetPeriod関数の中身は割愛しますが、現在日時の値を引数として、ある数字を取得しています。
118
+
119
+ newDemandPeriod = GetPeriod(DateTime.Now);
120
+
121
+
122
+
123
+ //新しい信施番号_連番を取得
124
+
125
+ //GetDemandNumberの中身は割愛しますが、最新の申請番号_期番の値を引数として、連番を取得しています。
126
+
127
+ newDemandNumber = GetDemandNumber(newDemandPeriod);
128
+
129
+
130
+
131
+ //古い申請番号を取得
132
+
133
+ int oldDemandPeriod = int.Parse(Request.QueryString["Period"];
134
+
135
+ int oldDemandNumber = int.Parse(Request.QueryString["Number"];
136
+
137
+
138
+
139
+ //申請情報を取得
140
+
141
+ //ここで古い申請番号をキーにして、T_申請テーブルからデータを取得しています。
142
+
143
+ //daoはT_申請TableAdapterです。
144
+
145
+ DataSet.T_申請.T_申請DataTable dt = dao.GetDataByPrimariKey(demandPeriod, demandNumber);
146
+
147
+
148
+
149
+ //最終承認の値を設定
150
+
151
+ dt[0].申請番号_期番 = newDemandPeriod;
152
+
153
+ dt[0].申請番号_連番 = newDemandNumber;
154
+
155
+
156
+
157
+ //T_申請テーブルを更新
158
+
159
+ dao.Update(dt);
160
+
161
+ }
162
+
163
+ --最終承認処理関数の中身end--
164
+
165
+
166
+
167
+
168
+
169
+
170
+
61
171
  --添付ファイルダウンロードリンクのクリックイベントstart--
62
172
 
173
+
174
+
175
+ //indexの引数に入ってくる値はGridViewの行数になります
176
+
63
- 既存の申請番号を取得し、それを元に添付ファイル名として名付けています。
177
+ private void DownloadFile(int index)
178
+
64
-
179
+ {
180
+
181
+ //最新の申請番号を取得
182
+
183
+ int newDemandPeriod = ?;
184
+
185
+ int newDemandNumber = ?;
186
+
187
+
188
+
189
+ //申請情報取得
190
+
191
+ DataSet.T_申請T_申請DataTable data = GetData(newDemandPeriod, newDemandNumber);
192
+
193
+ DataTime stime = data[0].申請日時;
194
+
195
+
196
+
65
- そして、添付ファイルをダウンロードする処理を実行しています。
197
+ //ダウンロード処理
198
+
199
+ //この関数内で添付ファイルをダウンロードしていますが、最新の申請番号と連番を取得できれば問題が解決します。
200
+
201
+ DownloadAttachedFile(引数1, 引数2, newDemandPeriod, data[0].申請日時];
202
+
203
+
204
+
205
+ }
66
206
 
67
207
  --添付ファイルダウンロードリンクのクリックイベントend--
68
208
 
@@ -70,6 +210,12 @@
70
210
 
71
211
 
72
212
 
213
+
214
+
215
+
216
+
217
+
218
+
73
219
  ### 試したこと
74
220
 
75
221
  既存の申請番号を取得する方法として、Reqest.QueryStringメソッドを利用しているため、

2

追加情報を追記

2021/11/08 02:23

投稿

kentasuzuki_
kentasuzuki_

スコア28

test CHANGED
File without changes
test CHANGED
@@ -70,8 +70,24 @@
70
70
 
71
71
 
72
72
 
73
- 試してみたこと
73
+ ### 試したこと
74
74
 
75
75
  既存の申請番号を取得する方法として、Reqest.QueryStringメソッドを利用しているため、
76
76
 
77
77
  Webページを更新すれば新しい申請番号を取得できると思い、Response.Redirect(Request.RawUrl,false)メソッドを利用しましたが、システムの都合上により使えない仕様となっているようなので、この方法は断念しました。
78
+
79
+
80
+
81
+ ### 追加情報(FW/ツールのバージョンなど)
82
+
83
+ Web Formsを利用し、開発をしています。
84
+
85
+
86
+
87
+
88
+
89
+ 【開発環境】
90
+
91
+ 開発環境 VisualStudio2019
92
+
93
+ 言語   C#

1

やりたいことに関しての編集をしました。

2021/11/05 13:29

投稿

kentasuzuki_
kentasuzuki_

スコア28

test CHANGED
File without changes
test CHANGED
@@ -23,6 +23,8 @@
23
23
  最終承認ボタンクリックイベント後に、添付ファイルダウンロードリンクのクリックイベントを発生させた際に、
24
24
 
25
25
  最終承認ボタンクリックイベント中に取得した新しい申請番号を添付ファイルダウンロードリンクのクリックイベントでも取得できるようにしたいです。
26
+
27
+ ※ちなみにですが、最終承認ボタンクリックイベント内に添付ファイルダウンロードリンクのイベントを呼ぶという方法は無しでお願いいたします。
26
28
 
27
29
 
28
30