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.

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
    }
}

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).


Need Your Help

Mousewheel event not firing

c# winforms events charts mousewheel

I've looked at this thread concerning the exact same problem but that solution didn't work for me.

Select distinct values from multiple columns in same table

sql distinct union

I am trying to construct a single SQL statement that returns unique, non-null values from multiple columns all located in the same table.