Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Looping through DataGridView Cells

I am creating a program that generates a bar code and then prints the shipping labels.

I have a function that allows the user to upload a spreadsheet into the datagrid view. One of the column names is "Tracking Number".

I would like to be able to loop through each cell that has a tracking number and then generate a barcode into a a new cell in a column called "barcode".

I understand there is a loop function for this but I have never used it before.

The code that generates the barcode is the following , it calls two classes:

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

Any Help would be much appreciated. I will happily answer any other questions.

like image 787
Mr Bagder Avatar asked Dec 09 '12 14:12

Mr Bagder


2 Answers

To iterate through every cell, you can use foreach loops

foreach(DataGridViewRow row in yourDataGridView.Rows)
{
    foreach(DataGridViewCell cell in row.Cells)
    {
        //do operations with cell
    }
}
like image 54
Chris Avatar answered Nov 11 '22 12:11

Chris


You can loop through a DataGridView using the following:

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

        // do stuff with the tracking number
    }
}

But to display the barcode in another cell you will need to convert it to a DataGridViewImageCell (or preferable the whole column into a DataGridViewImageColumn).

like image 23
Sid Holland Avatar answered Nov 11 '22 13:11

Sid Holland