2013-03-07 44 views
8

Cách lặp lại tất cả items trong một hàng nhất định trong DataTable. Tôi có đoạn mã sau để lặp lại tất cả các hàng, tôi muốn một vòng lặp For lặp lại tất cả các ô trong một hàng nhất định?Cách lặp lại tất cả các mục trong một hàng nhất định trong DataTable

For Each row As DataRow In dt.Rows 

Next row 

tôi có thể truy cập vào mỗi hàng, nhưng tôi muốn truy cập mỗi cột trên hàng, như tôi không biết tên và số lượng của các cột, ..

+0

bạn đã kiểm tra câu trả lời chưa? – Arshad

Trả lời

13

Bạn cần phải lặp qua DataRow.ItemArray. Trong C#, chúng tôi có thể thực hiện theo mã sau:

foreach (DataRow dr in dt.Rows) 
    { 
    foreach (var item in dr.ItemArray) 
     { 
       Console.WriteLine(item); 
     } 
    } 

Điều này tương đương với mã VB.NET sau.

For Each dr As DataRow In dt.Rows 
    For Each item In dr.ItemArray 
     Console.WriteLine(item) 
    Next 
Next 
+0

Loại 'var' không được xác định – Adham

+0

phiên bản khuôn khổ nào bạn đang sử dụng – Arshad

+0

Khuôn khổ .NET 4 – Adham

-1

mã của bạn là chính xác. bạn cn sử dụng mã này ...

Dim tbl As New DataTable() 
Dim datarow As DataRow 

tbl.Columns.Add("column1") 

datarow = tbl.NewRow() 
datarow("column1") = "Data1" 

tbl.Rows.Add(datarow) 
For Each dr As DataRow In tbl.Rows 
    For Each value In dr.ItemArray 
     Label1.Text = value.ToString() 
    Next 
Next 
+0

Adham sử dụng VB.NET và bạn đề xuất mã C#? – zkanoca

+0

u cn sử dụng câu trả lời được cập nhật –

+0

Mã này không chính xác. 'value' có kiểu đối tượng (được suy ra). Không có 'var' trong VB.NET. – Zairja

-1

Bạn có thể useDataRow.ItemArray để thực hiện công việc cũng

mã sẽ giống như thế này

For Each item As var In Row.ItemArray 
    //do something 
Next 
+1

Mã này không chính xác. giá trị có kiểu đối tượng (được suy ra). Không có var trong VB.NET. – Zairja

3
For Each row As DataRow In dt.Rows 
    For Each column As DataColumn in dt.Columns 
     Console.WriteLine(row(column)) 
    Next column 
Next row 
Các vấn đề liên quan