質問するログイン新規登録

回答編集履歴

3

見直しキャンペーン中

2023/07/20 14:25

投稿

TN8001
TN8001

スコア10180

answer CHANGED
@@ -1,112 +1,112 @@
1
- リンク記事は配列の配列(ジャグ配列)をDataGridに表示する例ですね(あまり使うことはなさそうですが)
2
- xamlが記事通りだとすると`List<string>`(list_param)が`List<char[]>`のように扱われてしまいます。
3
-
4
- * xamlを変える(回答コードのDataGrid_CSV1・FileRead1)
5
- * 段階を踏まず全部出す(回答コードのDataGrid_CSV2・FileRead2)
6
-
7
- かでしょうか。
8
-
9
- ```xaml
10
- <Window
11
- x:Class="Questions241547.MainWindow"
12
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
13
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
14
- Width="800"
15
- Height="450">
16
- <Grid>
17
- <Grid.RowDefinitions>
18
- <RowDefinition />
19
- <RowDefinition />
20
- </Grid.RowDefinitions>
21
-
22
- <DataGrid x:Name="DataGrid_CSV1" AutoGenerateColumns="False">
23
- <DataGrid.Columns>
24
- <DataGridTextColumn Binding="{Binding}" Header="Col1" />
25
- <!--<DataGridTextColumn Binding="{Binding [0]}" Header="Col1" />
26
- <DataGridTextColumn Binding="{Binding [1]}" Header="Col2" />
27
- <DataGridTextColumn Binding="{Binding [2]}" Header="Col3" />
28
- <DataGridTextColumn Binding="{Binding [3]}" Header="Col4" />-->
29
- </DataGrid.Columns>
30
- </DataGrid>
31
-
32
- <DataGrid
33
- x:Name="DataGrid_CSV2"
34
- Grid.Row="1"
35
- AutoGenerateColumns="False">
36
- <DataGrid.Columns>
37
- <DataGridTextColumn Binding="{Binding [0]}" Header="Col1" />
38
- <DataGridTextColumn Binding="{Binding [1]}" Header="Col2" />
39
- <DataGridTextColumn Binding="{Binding [2]}" Header="Col3" />
40
- <DataGridTextColumn Binding="{Binding [3]}" Header="Col4" />
41
- </DataGrid.Columns>
42
- </DataGrid>
43
- </Grid>
44
- </Window>
45
- ```
46
- ```C#
47
- using System;
48
- using System.Collections.Generic;
49
- using System.IO;
50
- using System.Text;
51
- using System.Windows;
52
-
53
- namespace Questions241547
54
- {
55
- public partial class MainWindow : Window
56
- {
57
- public MainWindow()
58
- {
59
- InitializeComponent();
60
- FileRead1(@"test.csv");
61
- FileRead2(@"test.csv");
62
- }
63
- private void FileRead1(string path_read)
64
- {
65
- try
66
- {
67
- using(var sr = new StreamReader(path_read, Encoding.GetEncoding("shift_jis")))
68
- {
69
- List<string> list_param = new List<string>();
70
- while(!sr.EndOfStream)
71
- {
72
- string line = sr.ReadLine();
73
- string[] csv_array = line.Split(',');
74
- list_param.Add(csv_array[0]);
75
- }
76
-
77
- DataGrid_CSV1.ItemsSource = list_param;
78
- }
79
- }
80
- catch(Exception e)
81
- {
82
- MessageBox.Show(e.Message);
83
- }
84
- }
85
-
86
- private void FileRead2(string path_read)
87
- {
88
- try
89
- {
90
- using(var sr = new StreamReader(path_read, Encoding.GetEncoding("shift_jis")))
91
- {
92
- //List<string> list_param = new List<string>();
93
- List<string[]> list_param = new List<string[]>();
94
- while(!sr.EndOfStream)
95
- {
96
- string line = sr.ReadLine();
97
- string[] csv_array = line.Split(',');
98
- //list_param.Add(csv_array[0]);
99
- list_param.Add(csv_array);
100
- }
101
-
102
- DataGrid_CSV2.ItemsSource = list_param;
103
- }
104
- }
105
- catch(Exception e)
106
- {
107
- MessageBox.Show(e.Message);
108
- }
109
- }
110
- }
111
- }
1
+ リンク記事は配列の配列(ジャグ配列)をDataGridに表示する例ですね(あまり使うことはなさそうですが)
2
+ xamlが記事通りだとすると`List<string>`(list_param)が`List<char[]>`のように扱われてしまいます。
3
+
4
+ * xamlを変える(回答コードのDataGrid_CSV1・FileRead1)
5
+ * 段階を踏まず全部出す(回答コードのDataGrid_CSV2・FileRead2)
6
+
7
+ かでしょうか。
8
+
9
+ ```xml
10
+ <Window
11
+ x:Class="Questions241547.MainWindow"
12
+ xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
13
+ xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
14
+ Width="800"
15
+ Height="450">
16
+ <Grid>
17
+ <Grid.RowDefinitions>
18
+ <RowDefinition />
19
+ <RowDefinition />
20
+ </Grid.RowDefinitions>
21
+
22
+ <DataGrid x:Name="DataGrid_CSV1" AutoGenerateColumns="False">
23
+ <DataGrid.Columns>
24
+ <DataGridTextColumn Binding="{Binding}" Header="Col1" />
25
+ <!--<DataGridTextColumn Binding="{Binding [0]}" Header="Col1" />
26
+ <DataGridTextColumn Binding="{Binding [1]}" Header="Col2" />
27
+ <DataGridTextColumn Binding="{Binding [2]}" Header="Col3" />
28
+ <DataGridTextColumn Binding="{Binding [3]}" Header="Col4" />-->
29
+ </DataGrid.Columns>
30
+ </DataGrid>
31
+
32
+ <DataGrid
33
+ x:Name="DataGrid_CSV2"
34
+ Grid.Row="1"
35
+ AutoGenerateColumns="False">
36
+ <DataGrid.Columns>
37
+ <DataGridTextColumn Binding="{Binding [0]}" Header="Col1" />
38
+ <DataGridTextColumn Binding="{Binding [1]}" Header="Col2" />
39
+ <DataGridTextColumn Binding="{Binding [2]}" Header="Col3" />
40
+ <DataGridTextColumn Binding="{Binding [3]}" Header="Col4" />
41
+ </DataGrid.Columns>
42
+ </DataGrid>
43
+ </Grid>
44
+ </Window>
45
+ ```
46
+ ```cs
47
+ using System;
48
+ using System.Collections.Generic;
49
+ using System.IO;
50
+ using System.Text;
51
+ using System.Windows;
52
+
53
+ namespace Questions241547
54
+ {
55
+ public partial class MainWindow : Window
56
+ {
57
+ public MainWindow()
58
+ {
59
+ InitializeComponent();
60
+ FileRead1(@"test.csv");
61
+ FileRead2(@"test.csv");
62
+ }
63
+ private void FileRead1(string path_read)
64
+ {
65
+ try
66
+ {
67
+ using(var sr = new StreamReader(path_read, Encoding.GetEncoding("shift_jis")))
68
+ {
69
+ List<string> list_param = new List<string>();
70
+ while(!sr.EndOfStream)
71
+ {
72
+ string line = sr.ReadLine();
73
+ string[] csv_array = line.Split(',');
74
+ list_param.Add(csv_array[0]);
75
+ }
76
+
77
+ DataGrid_CSV1.ItemsSource = list_param;
78
+ }
79
+ }
80
+ catch(Exception e)
81
+ {
82
+ MessageBox.Show(e.Message);
83
+ }
84
+ }
85
+
86
+ private void FileRead2(string path_read)
87
+ {
88
+ try
89
+ {
90
+ using(var sr = new StreamReader(path_read, Encoding.GetEncoding("shift_jis")))
91
+ {
92
+ //List<string> list_param = new List<string>();
93
+ List<string[]> list_param = new List<string[]>();
94
+ while(!sr.EndOfStream)
95
+ {
96
+ string line = sr.ReadLine();
97
+ string[] csv_array = line.Split(',');
98
+ //list_param.Add(csv_array[0]);
99
+ list_param.Add(csv_array);
100
+ }
101
+
102
+ DataGrid_CSV2.ItemsSource = list_param;
103
+ }
104
+ }
105
+ catch(Exception e)
106
+ {
107
+ MessageBox.Show(e.Message);
108
+ }
109
+ }
110
+ }
111
+ }
112
112
  ```

2

変更点明示

2020/02/15 13:26

投稿

TN8001
TN8001

スコア10180

answer CHANGED
@@ -18,13 +18,17 @@
18
18
  <RowDefinition />
19
19
  <RowDefinition />
20
20
  </Grid.RowDefinitions>
21
-
21
+
22
22
  <DataGrid x:Name="DataGrid_CSV1" AutoGenerateColumns="False">
23
23
  <DataGrid.Columns>
24
24
  <DataGridTextColumn Binding="{Binding}" Header="Col1" />
25
+ <!--<DataGridTextColumn Binding="{Binding [0]}" Header="Col1" />
26
+ <DataGridTextColumn Binding="{Binding [1]}" Header="Col2" />
27
+ <DataGridTextColumn Binding="{Binding [2]}" Header="Col3" />
28
+ <DataGridTextColumn Binding="{Binding [3]}" Header="Col4" />-->
25
29
  </DataGrid.Columns>
26
30
  </DataGrid>
27
-
31
+
28
32
  <DataGrid
29
33
  x:Name="DataGrid_CSV2"
30
34
  Grid.Row="1"
@@ -85,11 +89,13 @@
85
89
  {
86
90
  using(var sr = new StreamReader(path_read, Encoding.GetEncoding("shift_jis")))
87
91
  {
92
+ //List<string> list_param = new List<string>();
88
93
  List<string[]> list_param = new List<string[]>();
89
94
  while(!sr.EndOfStream)
90
95
  {
91
96
  string line = sr.ReadLine();
92
97
  string[] csv_array = line.Split(',');
98
+ //list_param.Add(csv_array[0]);
93
99
  list_param.Add(csv_array);
94
100
  }
95
101
 

1

箇条書き

2020/02/15 13:26

投稿

TN8001
TN8001

スコア10180

answer CHANGED
@@ -1,8 +1,9 @@
1
1
  リンク記事は配列の配列(ジャグ配列)をDataGridに表示する例ですね(あまり使うことはなさそうですが)
2
2
  xamlが記事通りだとすると`List<string>`(list_param)が`List<char[]>`のように扱われてしまいます。
3
3
 
4
- xamlを変える(回答コードのDataGrid_CSV1・FileRead1)
4
+ * xamlを変える(回答コードのDataGrid_CSV1・FileRead1)
5
- いっそ段階を踏まず全部出す(回答コードのDataGrid_CSV2・FileRead2)
5
+ * 段階を踏まず全部出す(回答コードのDataGrid_CSV2・FileRead2)
6
+
6
7
  かでしょうか。
7
8
 
8
9
  ```xaml