質問編集履歴

9

修正

2017/06/16 13:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
File without changes

8

追記

2017/06/16 13:48

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -83,3 +83,131 @@
83
83
  追記3)
84
84
 
85
85
  どちらも foreach(DataGridViewRow test in FileTarget(targetGridview))として使用しています。
86
+
87
+
88
+
89
+ 追記4)
90
+
91
+ datagridview内にデータを挿入するのは起動時のloadイベント時となります。
92
+
93
+ test sorce
94
+
95
+ ```c#
96
+
97
+ public Form1()
98
+
99
+ {
100
+
101
+ InitializeComponent();
102
+
103
+
104
+
105
+ dataGridView1.Columns.Add(new DataGridViewCheckBoxColumn());
106
+
107
+ dataGridView1.Columns.Add("a","a");
108
+
109
+ dataGridView1.Columns.Add("b", "b");
110
+
111
+ dataGridView1.Columns.Add("c","c");
112
+
113
+ dataGridView1.Columns.Add("d", "d");
114
+
115
+ dataGridView1.Rows.Add(false, "1", "1", "1");
116
+
117
+ dataGridView1.Rows.Add(false, "2", "2", "2");
118
+
119
+ dataGridView1.Rows.Add(false, "3", "3", "3");
120
+
121
+ dataGridView1.Rows.Add(false, "4", "4", "4");
122
+
123
+ dataGridView1.Rows.Add(false, "5", "5", "5");
124
+
125
+ dataGridView1.Rows.Add(false, "6", "6", "6");
126
+
127
+
128
+
129
+
130
+
131
+ dataGridView1.SelectionMode = DataGridViewSelectionMode.FullRowSelect;
132
+
133
+
134
+
135
+ dataGridView1.MultiSelect = false;
136
+
137
+ dataGridView1.Rows[0].Resizable = DataGridViewTriState.False;
138
+
139
+ dataGridView1.AllowUserToAddRows = false;
140
+
141
+ dataGridView1.AllowUserToDeleteRows = false;
142
+
143
+ dataGridView1.AllowUserToAddRows = false;
144
+
145
+ dataGridView1.AllowUserToDeleteRows = false;
146
+
147
+ dataGridView1.RowHeadersVisible = false;
148
+
149
+
150
+
151
+ }
152
+
153
+
154
+
155
+
156
+
157
+ private Func<DataGridView, IEnumerable<DataGridViewRow>> FileTarget =
158
+
159
+ (DataGridView c) => c.Rows.Cast<DataGridViewRow>().Where(n => (bool)n.Cells[0].Value == true);
160
+
161
+
162
+
163
+ private void button1_Click(object sender, EventArgs e)
164
+
165
+ {
166
+
167
+ foreach (DataGridViewRow d in FileTarget(dataGridView1))
168
+
169
+ {
170
+
171
+ //内部へ入る
172
+
173
+ MessageBox.Show((string)d.Cells[1].Value) ;
174
+
175
+
176
+
177
+ };
178
+
179
+
180
+
181
+ }
182
+
183
+
184
+
185
+ private void test1ToolStripMenuItem_Click(object sender, EventArgs e)
186
+
187
+ {
188
+
189
+
190
+
191
+ foreach (DataGridViewRow d in FileTarget(dataGridView1))
192
+
193
+ {
194
+
195
+ //内部へ入らない
196
+
197
+ MessageBox.Show((string)d.Cells[1].Value);
198
+
199
+
200
+
201
+ };
202
+
203
+
204
+
205
+ }
206
+
207
+
208
+
209
+
210
+
211
+
212
+
213
+ ```

7

誤字修正

2017/06/16 12:59

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -74,7 +74,7 @@
74
74
 
75
75
 
76
76
 
77
- 後、色々と試してみたのですが、同form上のdatagridviewと、mainstrip以外をアクティブにすると2 でも結果が取得できました。
77
+ 後、色々と試してみたのですが、同form上のdatagridviewと、ToolStripMenuItem以外をアクティブにすると2 でも結果が取得できました。
78
78
 
79
79
  原因は不明です。
80
80
 

6

修正

2017/06/16 12:12

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
 
10
10
 
11
- 1 Buttan.click イベントから発生させると値が取得できる。
11
+ 1 Button.click イベントから発生させると値が取得できる。
12
12
 
13
13
  2 ToolStripMenuItem.click イベントから発生させると値が取得できない。
14
14
 

5

追記

2017/06/16 11:59

投稿

退会済みユーザー
test CHANGED
@@ -1 +1 @@
1
- datagridview checkboxの値取得
1
+ datagridview checkboxの値取得時の動作差異について
test CHANGED
@@ -8,9 +8,9 @@
8
8
 
9
9
 
10
10
 
11
- 1 Buttanイベントから発生させると値が取得できる。
11
+ 1 Buttan.click イベントから発生させると値が取得できる。
12
12
 
13
- 2 MeinStripイベントから発生させると値が取得できない。
13
+ 2 ToolStripMenuItem.click イベントから発生させると値が取得できない。
14
14
 
15
15
 
16
16
 
@@ -76,4 +76,10 @@
76
76
 
77
77
  後、色々と試してみたのですが、同form上のdatagridviewと、mainstrip以外をアクティブにすると2 でも結果が取得できました。
78
78
 
79
- 原因はわからないです。
79
+ 原因は不明です。
80
+
81
+
82
+
83
+ 追記3)
84
+
85
+ どちらも foreach(DataGridViewRow test in FileTarget(targetGridview))として使用しています。

4

追記

2017/06/16 11:56

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -66,7 +66,11 @@
66
66
 
67
67
  .MultiSelect = False
68
68
 
69
- .Resizable = DataGridViewTriState.False
69
+ .Resizable = DataGridViewTriState.False
70
+
71
+ .AllowUserToAddRows = False
72
+
73
+ .AllowUserToDeleteRows = False
70
74
 
71
75
 
72
76
 

3

誤字修正

2017/06/16 05:00

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -54,11 +54,11 @@
54
54
 
55
55
  追記2)
56
56
 
57
- datagridviewに関してですが、基本設定はSQLの結果を表示してます。
57
+ datagridviewに関してですが、基本はSQLの結果を表示する、参照画面として使用しています。
58
58
 
59
- 又、checkBox以外は全てreadOnely= trueにしており、新規追加はできません。
59
+ 又、checkBox以外は全てreadOnely= trueにしており、新規追加、編集はできません。
60
60
 
61
-
61
+
62
62
 
63
63
  その他設定プロパティ
64
64
 

2

追記

2017/06/16 04:57

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -49,3 +49,27 @@
49
49
  本来ならdatagridview内のcheckboxの値はtrue,false なのですが、2の場合のみnull,nothingとなります。
50
50
 
51
51
  そして、キャスト失敗時のエラーが発生します。
52
+
53
+
54
+
55
+ 追記2)
56
+
57
+ datagridviewに関してですが、基本設定はSQLの結果を表示してます。
58
+
59
+ 又、checkBox以外は全てreadOnely= trueにしており、新規追加はできません。
60
+
61
+
62
+
63
+ その他設定プロパティ
64
+
65
+ .DataGridViewSelectionMode.FullRowSelect
66
+
67
+ .MultiSelect = False
68
+
69
+ .Resizable = DataGridViewTriState.False
70
+
71
+
72
+
73
+ 後、色々と試してみたのですが、同form上のdatagridviewと、mainstrip以外をアクティブにすると2 でも結果が取得できました。
74
+
75
+ 原因はわからないです。

1

追記

2017/06/16 04:50

投稿

退会済みユーザー
test CHANGED
File without changes
test CHANGED
@@ -43,3 +43,9 @@
43
43
 
44
44
 
45
45
  ```
46
+
47
+ 追記)
48
+
49
+ 本来ならdatagridview内のcheckboxの値はtrue,false なのですが、2の場合のみnull,nothingとなります。
50
+
51
+ そして、キャスト失敗時のエラーが発生します。