【问题标题】:Looping through alternative (every other) DataGridView column循环遍历替代(每隔一个)DataGridView 列
【发布时间】:2016-12-02 10:35:42
【问题描述】:

我知道您可以循环遍历 DataGridView 的交替行,但我找不到任何关于循环遍历交替列的帮助。我尝试过使用下面的代码,听起来它可以在纸上运行,但会不断出错。

    Dim i As Integer

    i = i + 1

    For i = 1 To 5
        Dim value6 As Integer = DataGridView1.Rows(e.RowIndex).Cells(i).Value
        Select Case value6
            Case "1"
                DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.LightBlue
            Case "2"
                DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Chartreuse
            Case "3"
                DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Orange
        End Select
    Next i

当它到达带有日期的列时,它会不断中断,因为它不是整数。

我在下面插入了DataGridView 的图片,但我希望代码用整数循环遍历所有其他列并读取值,从第 (2) 列开始,到第 (6) 列结束。

任何帮助将不胜感激!

DataGridView Image

【问题讨论】:

    标签: .net vb.net loops datagridview


    【解决方案1】:

    好吧,如果您从列索引 2 开始,则需要更改循环开始的编号。要使循环遍历备用列,请将“步骤 2”添加到 for 语句的末尾,如下所示:

    For i = 2 To 6 Step 2
        Dim value6 As Integer = DataGridView1.Rows(e.RowIndex).Cells(i).Value
        Select Case value6
            Case "1"
                DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.LightBlue
            Case "2"
                DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Chartreuse
            Case "3"
                DataGridView1.Rows(e.RowIndex).Cells(i).Style.BackColor = Color.Orange
        End Select
    Next i
    

    应该可以的。

    “Step”关键字使索引变量在每次迭代后按您指定的数字增加。

    【讨论】:

    • 我必须更改 For i = 2 to *6* Step 2 才能正常工作,但这正是我想要的,谢谢大卫!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-29
    • 2023-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多