2012-12-09 41 views
7

Tôi đang tạo chương trình tạo mã vạch và sau đó in nhãn gửi hàng.Lặp qua các ô DataGridView

Tôi có chức năng cho phép người dùng tải lên bảng tính vào chế độ xem dữ liệu. Một trong các tên cột là "Số theo dõi".

Tôi muốn có thể lặp qua từng ô có số theo dõi và sau đó tạo mã vạch vào ô mới trong cột được gọi là "mã vạch".

Tôi hiểu rằng có một chức năng vòng lặp cho điều này nhưng tôi chưa bao giờ sử dụng nó trước đây.

Các mã để tạo mã vạch là những điều sau đây, nó gọi hai lớp:

Image barc = Rendering.MakeBarcodeImage(txtTrack.Text, int.Parse(txtWidth.Text), true); 
pictBarcode.Image = barc; 

Bất kỳ trợ giúp sẽ được nhiều đánh giá cao. Tôi sẽ vui vẻ trả lời bất kỳ câu hỏi nào khác.

+0

Tôi là một chút mờ về câu hỏi chính xác của bạn. Bạn có gặp sự cố khi hiển thị hình ảnh không? Nếu có, cột đó có nghĩa vụ hiển thị hình ảnh mã vạch, [DataGridViewImageColumn] (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewimagecolumn.aspx) không? hoặc bạn có muốn trợ giúp với looping thông qua DataGridView? – Isuru

Trả lời

1

Bạn lặp qua một DataGridView có thể sử dụng như sau:

foreach (DataGridViewRow row in dgvNameOfYourGrid.Rows) 
{ 
    if (row["Tracking Number"].ToString != "") 
    { 
     string trackingNumber = row.Cells["Tracking Number"].ToString(); 

     // do stuff with the tracking number 
    } 
} 

Nhưng để hiển thị mã vạch trong phòng giam khác, bạn sẽ cần phải chuyển nó sang một DataGridViewImageCell (hoặc thích hợp hơn cả cột vào một DataGridViewImageColumn).

15

Để lặp qua từng tế bào, bạn có thể sử dụng foreach vòng

foreach(DataGridViewRow row in yourDataGridView.Rows) 
{ 
    foreach(DataGridViewCell cell in row.Cells) 
    { 
     //do operations with cell 
    } 
} 
+0

niềng răng không cần thiết – barlop

+1

niềng răng có thể đọc được – johnny

Các vấn đề liên quan