Click here to Skip to main content
16,017,922 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
I want to check the cells of my datagridview. also if atleast one of the cell is empty, it will return "false"

What I have tried:

and so, I have this method WHICH is i knew is not correct. since if ever the last item in the array has value, it will make "checking" a true. I just cant get the correct code or logic for what i plan to make.
C#
public void checker()
        {
            string[] check = new string[50];
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                
                check[i] = dataGridView1.Rows[i].Cells[0].Value.ToString();
                
            }
            for (int e = 0; e < check.Length; e++)
            {
                if (check[e] == null)
                {
                    checking = "false";
                }
                else
                {
                    checking = "true";
                }
            }
        }
Posted
Updated 9-Sep-17 11:06am

Trial and error is a good way to learn algorithms ... as long as you understand the reason of error. The debugger is a great tool for this purpose because it allow you to see what your code is doing step by step.
In your code, you set checking once per cell, which means that the final resilt depend only on the value of last cell, that is not what you want.
Quote:
I want to check the cells of my datagridview. also if at least one of the cell is empty, it will return "false"

This translates to:
- The answer is "true" as long as you don't encounter an empty cell.
- The answer is "false" only when you encounter an empty cell.
Which lead to the code of Solution 1. You set the default answer at beginning and change it only when you encounter a cell that meet your condition.

There is a tool that allow you to see what your code is doing, its name is debugger. It is also a great learning tool because it show you reality and you can see which expectation match reality.
When you don't understand what your code is doing or why it does what it does, the answer is debugger.
Use the debugger to see what your code is doing. Just set a breakpoint and see your code performing, the debugger allow you to execute lines 1 by 1 and to inspect variables as it execute.

Debugger - Wikipedia, the free encyclopedia[^]

Mastering Debugging in Visual Studio 2010 - A Beginner's Guide[^]
Basic Debugging with Visual Studio 2010 - YouTube[^]
Debugging C# Code in Visual Studio - YouTube[^]
The debugger is here to show you what your code is doing and your task is to compare with what it should do.
There is no magic in the debugger, it don't find bugs, it just help you to. When the code don't do what is expected, you are close to a bug.
 
Share this answer
 
You could do it like this:
C#
   checking = true;

      for (int i = 0; i < dataGridView1.Rows.Count; i++)
      {
         for (int j = 0; j < dataGridView1.Rows[i].Cells.Count; j++)
         {
            var cellValue = dataGridView1.Rows[i].Cells[j].Value;

            if (cellValue == null || 
cellValue == DBNull.Value || string.IsNullOrEmpty(CellValue.ToString()))
            {
                checking = "false";
                return;
            }
         }
      }
 
Share this answer
 
v5

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900