2014-10-22 68 views
0

如何计算标题中具有相同前两个字符的数据表列(动态创建)?这是我的代码到目前为止,但不工作。计算特定的数据表列

For col As Integer = 3 To dt.Columns.Count - 1 
     Dim cntLE, cntUE As Integer 
     If dt.Columns(col).ColumnName.Substring(0, 2) = "LE" Then 
      cntLE = dt.Columns.Count 
     ElseIf dt.Columns(col).ColumnName.Substring(0, 2) = "UE" Then 
      cntUE = dt.Columns.Count 
     End If 
    Next 
+0

请参阅下面的答案。另外,为什么你从'3'开始,而不是'For'循环中的'0'? – Shiva 2014-10-22 01:14:03

回答

1

这是因为您将整个列计数(即dt.Columns.Count)分配给计数器,而不是如果找到它们将它们加1。

试试这个。

For col As Integer = 3 To dt.Columns.Count - 1 
    Dim cntLE, cntUE As Integer 
    If dt.Columns(col).ColumnName.Substring(0, 2) = "LE" Then 
     cntLE = cntLE + 1 
    ElseIf dt.Columns(col).ColumnName.Substring(0, 2) = "UE" Then 
     cntUE = cntUE + 1 
    End If 
Next 
+1

啊..我明白了:)谢谢。列索引0到2是静态列,只有列(3)up是动态创建的,这就是为什么循环从3开始。 – eirishainjel 2014-10-22 01:16:34