Percorrer as linhas de uma DataTable especial
Pergunta
IDE: VS 2008, Plataforma: .NET 3.5,
Oi,
Aqui está minhas colunas DataTable:
ID Nota Detalhe
Eu quero escrever sth como este:
//below code block is not the right syntax
For each q in dtDataTable.Column("Detail")
strDetail = Row of Column Detail
Next
Alguém pode me dar uma sugestão e me mostrar um exemplo de código, por favor? Obrigado.
Solução
For Each row As DataRow In dtDataTable.Rows
strDetail = row.Item("Detail")
Next row
Há também um atalho:
For Each row As DataRow In dtDataTable.Rows
strDetail = row("Detail")
Next row
Note que as diretrizes de estilo da Microsoft para .NET agora recomendam especificamente contra o uso de prefixos tipo húngara para variáveis. Em vez de "strDetail", por exemplo, você deve apenas usar "Detail".
Outras dicas
Dim row As DataRow
For Each row In dtDataTable.Rows
Dim strDetail As String
strDetail = row("Detail")
Console.WriteLine("Processing Detail {0}", strDetail)
Next row
Você quer fazer um loop sobre os .Rows, e acessar a coluna para a linha como q ( "coluna")
Apenas:
For Each q In dtDataTable.Rows
strDetail = q("Detail")
Next
Certifique-se também de verificar MSDN doc para qualquer classe que você está usando + uso intellisense
Aqui está a melhor maneira que eu encontrei:
For Each row As DataRow In your_table.Rows
For Each cell As String In row.ItemArray
'do what you want!
Next
Next