■72136 / inTopicNo.12) |
Re[7]: 二次元配列(x,y) |
□投稿者/ 魔界の仮面弁士 (11回)-(2014/05/20(Tue) 19:26:52)
|
■No72132 (あり得んロッペン さん) に返信 > そうですね、DataGridViewは頭によぎりました。 > 指示では2次元配列でとのことなもので。
二次元配列でも良いのでは?
管理上、DataTable の方が相性が良いというだけであって、 二次元配列の内容を DataGridView に表示させてはいけないルールも無いですし。
Public Class Form1 Private ColumnCount As Integer = 7 Private RowCount As Integer = 20
Private matrix1(ColumnCount - 1, RowCount - 1) As Integer Private matrix2(ColumnCount - 1, RowCount - 1) As String
Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load For x As Integer = 0 To ColumnCount - 1 Dim sX As String = StrConv(CStr(x), VbStrConv.Wide) For y As Integer = 0 To RowCount - 1 Dim sY As String = StrConv(CStr(y), VbStrConv.Wide) matrix1(x, y) = x * 100 + y matrix2(x, y) = String.Format("A({1},{0})", sX, sY) Next Next
DataGridView1.AllowUserToAddRows = False DataGridView1.AllowUserToResizeColumns = False DataGridView1.AllowUserToResizeRows = False DataGridView1.RowHeadersVisible = False DataGridView1.ColumnHeadersVisible = False DataGridView1.DefaultCellStyle.Alignment = DataGridViewContentAlignment.MiddleRight DataGridView1.EditMode = DataGridViewEditMode.EditOnEnter DataGridView1.RowCount = RowCount DataGridView1.ColumnCount = ColumnCount End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click For y As Integer = 0 To RowCount - 1 For x As Integer = 0 To ColumnCount - 1 DataGridView1(x, y).Value = matrix1(x, y) 'Integer の二次元配列 Next Next End Sub
Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click For y As Integer = 0 To RowCount - 1 For x As Integer = 0 To ColumnCount - 1 DataGridView1(x, y).Value = matrix2(x, y) 'String の二次元配列 Next Next End Sub End Class
> 表示をするには、テキストボックスにループで順番に入れていく事は可能でしょうか。 その場合は、TextBox も配列で管理するのが良いでしょう。 http://dobon.net/vb/dotnet/control/buttonarray.html
現在は Controls から、"TextBox11" などのコントロール名を指定して 処理する方法を使っておられるようですが、多数の TextBox を デザイン画面で一つ一つ貼っていく方法だと、管理しているデータの 要素数が変更したときに対応しにくいかと思います。
(DataGridView や ListView などのように、最初から行・列で データを管理しているコントロールならば対応もしやすいですが)
であれば、TextBox 自体もコードから動的に生成・配置するようにし、 それを二次元配列として管理するようにすれば、取り扱いも容易になるかと。
|
|