2012-12-09 22 views
7

Tworzę program, który generuje kod kreskowy, a następnie drukuje etykiety wysyłki.Zapętlanie przez komórki DataGridView

Mam funkcję, która pozwala użytkownikowi przesłać arkusz kalkulacyjny do widoku datagrid. Jedna z nazw kolumn to "Numer śledzenia".

Chciałbym móc przechodzić przez każdą komórkę, która ma numer śledzenia, a następnie wygenerować kod kreskowy do nowej komórki w kolumnie o nazwie "kod kreskowy".

Rozumiem, że istnieje funkcja pętli, ale nigdy wcześniej jej nie używałam.

kod, który generuje kod kreskowy jest następujący, wywołuje dwie klasy:

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

Każda pomoc będzie mile widziane. Chętnie odpowiem na wszelkie inne pytania.

+0

Jestem trochę rozmyty na dokładnym pytanie. Czy masz problemy z wyświetlaniem obrazu? Jeśli tak, czy kolumna ma wyświetlać obraz kodu kreskowego, [DataGridViewImageColumn] (http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewimagecolumn.aspx)? lub czy potrzebujesz pomocy z zapętlaniem się DataGridView? – Isuru

Odpowiedz

1

Można pętla przez DataGridView przy użyciu następujących:

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

     // do stuff with the tracking number 
    } 
} 

Ale do wyświetlania kodu kreskowego w innej komórce trzeba będzie przekształcić go w DataGridViewImageCell (lub korzystnego całej kolumny do DataGridViewImageColumn).

15

iterację każdej komórce, można użyć foreach pętli

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

zbędne szelki – barlop

+1

szelki nadające się do odczytu – johnny

Powiązane problemy