VB.net 默认的数据网格视图数据



所以我必须在数据网格视图中设置一些默认值,为此我使用以下代码,它正在工作,但我想知道我是否可以使代码更短。

  Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
    WindowState = FormWindowState.Maximized
    'default values for diameterdata
    With DataDiameters
        .Rows.Add(6)
        .Rows(0).Cells(0).Value = "DN20"
        .Rows(0).Cells(1).Value = "21,7"
        .Rows(1).Cells(0).Value = "DN25"
        .Rows(1).Cells(1).Value = "28,5"
        .Rows(2).Cells(0).Value = "DN32"
        .Rows(2).Cells(1).Value = "37,2"
        .Rows(3).Cells(0).Value = "DN40"
        .Rows(3).Cells(1).Value = "43,1"
        .Rows(4).Cells(0).Value = "DN50"
        .Rows(4).Cells(1).Value = "54,4"
        .Rows(5).Cells(0).Value = "DN65"
        .Rows(5).Cells(1).Value = "70,3"
        .Rows(6).Cells(0).Value = "DN80"
        .Rows(6).Cells(1).Value = "82,5"
        .Rows(7).Cells(0).Value = "DN100"
        .Rows(7).Cells(1).Value = "107,1"
    End With

End Sub
  With DataDiameters
        .Rows.Add({"DN20", 21.7})
          etc
    End With

或者像这样,如果你想把所有东西都保留为字符串

        With DataDiameters
            .Rows.Add({"DN20", "21,7"})
              etc
        End With

你会发现更容易使用网格视图,如果你用这样的实际代码制作你的网格。

 Dim arrayColumn(2) As String
        With DataDiameters
            .Columns.Add("DNmaat", "DN maat")
            .Columns.Add("InnerDiameter", "Inner Diameter")
            .Rows.Add({"DN20", 21.7})
            ' arraycolumn(0)="DN20"
            ' arraycolumn(1)="21,7"
            ' or like this .Rows.Add(arrayColumn)
            'This will let you dynamically change everything at runtime
        End With

从长远来看,由于网格不是硬编码的,因此您可以在运行时更改所有内容。

创建一个包含所有元素的数组。然后,循环遍历 DataGridView 单元格并设置数组中包含的值。

Dim arrayItems() As String = {"DN20", "21,7", "DN25", "DN32", "37,2", "DN40", ......}
Dim indexArray As Integer = 0
    For i = 0 To 7
        For j = 0 To 1
            DataGridView1.Rows(i).Cells(j).Value = arrayItems(indexArray)
            indexArray += 1
        Next
    Next

最新更新