質問編集履歴

8

コメント記入

2020/12/24 09:15

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -140,11 +140,105 @@
140
140
 
141
141
  追記
142
142
 
143
+ 上記のコード実行時に表示されるDataGridViewの内容
144
+
145
+ source.DataSource=innnerjoin;
146
+
143
- 閲覧サイト
147
+ ```
148
+
144
-
149
+ No,名前,枝番,商品,商品備考
150
+
151
+ 1,satou,1,コーラ,
152
+
153
+ 2,satou,1,ソーダ,
154
+
155
+ 3,kagaya,1,リンゴ,
156
+
157
+ 4,gotou,1,コーラ,
158
+
159
+ 5,gotou,1,スイカ,
160
+
161
+ 6,gotou,1,メロン,
162
+
163
+ ```
164
+
165
+
166
+
167
+ 実現したいDataGridViewの内容
168
+
169
+ ```
170
+
171
+ No,名前,枝番,商品,商品備考
172
+
173
+ 1,satou,1,コーラ,
174
+
175
+ 2,satou,2,ソーダ,
176
+
177
+ 3,kagaya,1,リンゴ,
178
+
179
+ 4,gotou,1,コーラ,
180
+
181
+ 5,gotou,2,スイカ,
182
+
183
+ 6,gotou,3,メロン,
184
+
185
+ ```
186
+
187
+ 動いているが枝番号が反映されていない
188
+
189
+ ```
190
+
191
+   string[] names = innnerjoin.Select(r => r.名前).Distinct().ToArray();//2 枝番の編集箇所
192
+
193
+ foreach (string name in names)//name=satou names=名前列全件データ
194
+
195
+ {
196
+
197
+ List<ResultDT> resultsN = innnerjoin.Where(r => r.名前 == name).ToList();
198
+
199
+ int i = 1;
200
+
201
+ foreach (ResultDT result in resultsN)
202
+
203
+ {
204
+
205
+ result.枝番号 = i++;
206
+
207
+ console.writeline(result.枝番号);
208
+
209
+ }
210
+
211
+ }
212
+
213
+ ```
214
+
215
+ 一緒になっている箇所
216
+
217
+ ```
218
+
219
+      >>枝番号を書き換える前の innnerjoin のことですか?
220
+
145
- https://www.sejuku.net/blog/58436
221
+     var innnerjoin  = from c in csvDTs//1 枝番変更前
222
+
146
-
223
+ join o in oracleDTs
224
+
147
-
225
+ on c.code equals o.code
226
+
227
+  
228
+
229
+        //ソース作成
230
+
231
+ BindingSource source = new BindingSource();
232
+
233
+ //ソースにinnnerjoin内のデータ挿入
234
+
235
+ source.DataSource=innnerjoin; //3 ここで1を呼び出している?
236
+
237
+ //DataGridViewにデータを挿入
238
+
239
+ dataGridView1.DataSource = source;
240
+
241
+ ```
148
242
 
149
243
 
150
244
 

7

修正

2020/12/24 09:15

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -8,21 +8,21 @@
8
8
 
9
9
  **質問内容**
10
10
 
11
- 下記のコードだと
11
+ 下記のコード
12
12
 
13
- ~~public class ResultDT>innnerjoin=oracleDTs+csvDTsということだと思っていて
13
+ {1}ResultDT内に結合後のデータ格納用のクラス
14
14
 
15
- var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないきResultDT内のstring {get; set;}は空データの列になる解釈でし~~
15
+ {2}ResultDTはOracleDTとCsvDTをinnnerjoinで結合ています
16
16
 
17
- ResultDTという箱(public class ResultDT)にDataを入れるための小さい箱(public string {get; set;})があるとしてinnnerjoinはResultDT内の小さい箱の名前と一致するデータを各要素(小さい箱)にいれているイメージでした。なので小さい箱はあってもinnerjoinでデータを渡していない場合は小さい箱は用意されているが値が入っていないのでDataGridViewで表示した際に空の列が作成される想定をしていたのですが現状の書き方(DataGridView=innerjoin)だと
17
+ string[] names = innnerjoin.Select(r => r.名前).Distinct().ToArray();以降の文で
18
18
 
19
-  string[] names = innnerjoin.Select...の編集内容はDatagridViewでは繁栄されずに
19
+ 結合結果内容編集する(名前が連続したとき枝番を作成するというもの)
20
20
 
21
- select new ResultDTで入れた値のみが出ている状況になります。
21
+ 処理をしているのですが、現状のコードだとDataGridViewにinnnerjoinを入れてしまっているので
22
22
 
23
- DataGridViewに編集のデータを入るにあたっどうたらいのでしょうか?
23
+ DataGridViewに表示しようとした際に編集のデータが出力されてします。
24
24
 
25
- 受け渡しの流れを知りたいです
25
+ データの受け渡しの流れが理解できてないのどうしたらDataGridViewに編集後の値が反映された状態でResultDT内のべての要素を含んだ表を表示することができるのでしょうか?
26
26
 
27
27
  ```c#
28
28
 
@@ -71,10 +71,6 @@
71
71
  public string 商品備考{get;set;}//空の列なので値は入れない
72
72
 
73
73
  }
74
-
75
-
76
-
77
-
78
74
 
79
75
  prrotected void Button(object sender )
80
76
 
@@ -140,8 +136,6 @@
140
136
 
141
137
  dataGridView1.DataSource = source;
142
138
 
143
-
144
-
145
139
  ```
146
140
 
147
141
  追記
@@ -149,3 +143,23 @@
149
143
  閲覧サイト
150
144
 
151
145
  https://www.sejuku.net/blog/58436
146
+
147
+
148
+
149
+
150
+
151
+ **訂正前の文**
152
+
153
+ 下記のコードだと
154
+
155
+ ~~public class ResultDT>innnerjoin=oracleDTs+csvDTsということだと思っていて
156
+
157
+ var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないときResultDT内のstring {get; set;}は空データの列になる解釈でした。
158
+
159
+ ResultDTという箱(public class ResultDT)にDataを入れるための小さい箱(public string {get; set;})があるとしてinnnerjoinはResultDT内の小さい箱の名前と一致するデータを各要素(小さい箱)にいれているイメージでした。なので小さい箱はあってもinnerjoinでデータを渡していない場合は小さい箱は用意されているが値が入っていないのでDataGridViewで表示した際に空の列が作成される想定をしていたのですが現状の書き方(DataGridView=innnerjoin)だと
160
+
161
+  string[] names = innnerjoin.Select...の編集内容はDatagridViewでは繁栄されずに
162
+
163
+ select new ResultDTで入れた値のみが出ている状況になります。
164
+
165
+ DataGridViewに編集後のデータを入れるにあたってどうしたらいいのでしょうか?~~

6

修正

2020/12/24 06:32

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -14,7 +14,7 @@
14
14
 
15
15
  var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないときResultDT内のstring {get; set;}は空データの列になる解釈でした。~~
16
16
 
17
- ResultDTという箱(public class ResultDT)にDataを入れるための小さい箱(public string {get; set;})があるとしてinnnerjoinはResultDT内の小さい箱の名前と一致するデータを各要素(小さい箱)にいれているイメージでした。なので小さい箱はあってもinnerjoinでデータを渡していない場合は小さい箱は容易されているが値が入っていないのでDataGridViewで表示した際に空の列が作成される想定をしていたのですが現状の書き方(DatagridView=innerjoin)だと
17
+ ResultDTという箱(public class ResultDT)にDataを入れるための小さい箱(public string {get; set;})があるとしてinnnerjoinはResultDT内の小さい箱の名前と一致するデータを各要素(小さい箱)にいれているイメージでした。なので小さい箱はあってもinnerjoinでデータを渡していない場合は小さい箱は用意されているが値が入っていないのでDataGridViewで表示した際に空の列が作成される想定をしていたのですが現状の書き方(DataGridView=innerjoin)だと
18
18
 
19
19
   string[] names = innnerjoin.Select...の編集内容はDatagridViewでは繁栄されずに
20
20
 

5

修正

2020/12/24 06:15

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -10,13 +10,13 @@
10
10
 
11
11
  下記のコードだと
12
12
 
13
- public class ResultDT>innnerjoin=oracleDTs+csvDTsということだと思っていて
13
+ ~~public class ResultDT>innnerjoin=oracleDTs+csvDTsということだと思っていて
14
14
 
15
- var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないときResultDT内のstring {get; set;}は空データの列になる解釈でした。
15
+ var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないときResultDT内のstring {get; set;}は空データの列になる解釈でした。~~
16
16
 
17
- **問題発生している箇所**
17
+ ResultDTという箱(public class ResultDT)にDataを入れるための小さい箱(public string {get; set;})あるとしてinnnerjoinはResultDT内の小さ箱の名前と一致すデータを各要素(小さい箱)にいれているイメージでした。なので小さい箱はあってもinnerjoinでデータを渡していない場合は小さい箱は容易されているが値が入っていないのでDataGridViewで表示した際に空の列が作成される想定をしていたのですが現状の書き方(DatagridView=innerjoin)だと
18
18
 
19
- なので現状の書き方(DatagridView=innerjoin)だと編集内容はDatagridViewでは繁栄されずに
19
+  string[] names = innnerjoin.Select...の編集内容はDatagridViewでは繁栄されずに
20
20
 
21
21
  select new ResultDTで入れた値のみが出ている状況になります。
22
22
 

4

修正

2020/12/24 05:12

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -143,3 +143,9 @@
143
143
 
144
144
 
145
145
  ```
146
+
147
+ 追記
148
+
149
+ 閲覧サイト
150
+
151
+ https://www.sejuku.net/blog/58436

3

修正

2020/12/24 05:03

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -1,14 +1,20 @@
1
+ **前提**
2
+
1
- [リンク内容](https://teratail.com/questions/311959?whotofollow=)**質問内容**
3
+ [リンク内容](https://teratail.com/questions/311959?whotofollow=)
2
4
 
3
5
  こちらの質問の内容について追加で疑問点が出たのでスレッドを再度上げさせていただきます。
4
6
 
7
+
8
+
9
+ **質問内容**
10
+
5
11
  下記のコードだと
6
12
 
7
- **public class ResultDT>innnerjoin=oracleDTs+csvDTs**ということだと思っていて
13
+ public class ResultDT>innnerjoin=oracleDTs+csvDTsということだと思っていて
8
14
 
9
- var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないときResultDT内のstring {get; set;}は空データの列という形という解釈でした。
15
+ var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないときResultDT内のstring {get; set;}は空データの列になる解釈でした。
10
16
 
11
-
17
+ **問題が発生している箇所**
12
18
 
13
19
  なので現状の書き方(DatagridView=innerjoin)だと編集内容はDatagridViewでは繁栄されずに
14
20
 
@@ -16,7 +22,7 @@
16
22
 
17
23
  DataGridViewに編集後のデータを入れるにあたってどうしたらいいのでしょうか?
18
24
 
19
-
25
+ 受け渡しの流れを知りたいです。
20
26
 
21
27
  ```c#
22
28
 

2

修正

2020/12/24 04:41

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -10,13 +10,11 @@
10
10
 
11
11
 
12
12
 
13
- なので現状の書き方だと編集内容はDatagridViewでは繁栄されていない状況なります。
13
+ なので現状の書き方(DatagridView=innerjoin)だと編集内容はDatagridViewでは繁栄され
14
+
15
+ select new ResultDTで入れた値のみが出ている状況になります。
14
16
 
15
17
  DataGridViewに編集後のデータを入れるにあたってどうしたらいいのでしょうか?
16
-
17
-
18
-
19
-
20
18
 
21
19
 
22
20
 

1

修正

2020/12/24 04:38

投稿

AEGIL
AEGIL

スコア7

test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,9 @@
2
2
 
3
3
  こちらの質問の内容について追加で疑問点が出たのでスレッドを再度上げさせていただきます。
4
4
 
5
- 下記のコードだとpublic class ResultDT>innnerjoin=oracleDTs+csvDTsということだと
5
+ 下記のコードだと
6
6
 
7
- 思っていて
7
+ **public class ResultDT>innnerjoin=oracleDTs+csvDTs**ということだと思っていて
8
-
9
- なので
10
8
 
11
9
  var innerjoin=... select new ResultDT{}内にデータがあるときその上に属してるResultDT内のstring {get; set;}に値が入り select new ResultDT{}内に該当するものがないときResultDT内のstring {get; set;}は空データの列という形という解釈でした。
12
10
 
@@ -17,8 +15,6 @@
17
15
  DataGridViewに編集後のデータを入れるにあたってどうしたらいいのでしょうか?
18
16
 
19
17
 
20
-
21
- **ResultDT>innnerjoin=oracleDTs+csvDTs**
22
18
 
23
19
 
24
20