Click here to Skip to main content
15,881,588 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
hello, i have table with many col, 4 of these col will have number value to calculate and get the total, and have edit statement in gridview when i press edit to edit some number

this error will appear
Troubleshooting Exceptions: System.NullReferenceException


Note:- i think its because of float value, because when i tryed to delete these 4 col with number value its work gd


Thank u....

What I have tried:

C#
<pre><pre> protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.DataRow)
        {
            string val1 = e.Row.Cells[16].Text; //Gets the value in Column 1
            string val2 = e.Row.Cells[15].Text; //Gets the value in Column 2
            string val3 = e.Row.Cells[14].Text; //Gets the value in Column 3
            string val4 = e.Row.Cells[13].Text; //Gets the value in Column 4
            Label lblTotal = (Label)e.Row.Cells[12].FindControl("Label1"); //
            float _val1, _val2, _val3, _val4;

            float.TryParse(val1, out _val1);
            float.TryParse(val2, out _val2);
            float.TryParse(val3, out _val3);
            float.TryParse(val4, out _val4);

            float sum = _val1 + _val2 + _val3 + _val4;

          
            lblTotal.Text += sum.ToString();   -------------------> the error is here 
            

        }
Posted
Updated 24-Mar-17 21:38pm
v3

1 solution

This is one of the most common problems we get asked, and it's also the one we are least equipped to answer, but you are most equipped to answer yourself.

Let me just explain what the error means: You have tried to use a variable, property, or a method return value but it contains null - which means that there is no instance of a class in the variable.
It's a bit like a pocket: you have a pocket in your shirt, which you use to hold a pen. If you reach into the pocket and find there isn't a pen there, you can't sign your name on a piece of paper - and you will get very funny looks if you try! The empty pocket is giving you a null value (no pen here!) so you can't do anything that you would normally do once you retrieved your pen. Why is it empty? That's the question - it may be that you forgot to pick up your pen when you left the house this morning, or possibly you left the pen in the pocket of yesterdays shirt when you took it off last night.

We can't tell, because we weren't there, and even more importantly, we can't even see your shirt, much less what is in the pocket!

Back to computers, and you have done the same thing, somehow - and we can't see your code, much less run it and find out what contains null when it shouldn't.
But you can - and Visual Studio will help you here. Run your program in the debugger and when it fails, VS will show you the line it found the problem on. You can then start looking at the various parts of it to see what value is null and start looking back through your code to find out why. So put a breakpoint at the beginning of the method containing the error line, and run your program from the start again. This time, VS will stop before the error, and let you examine what is going on by stepping through the code looking at your values.

But we can't do that - we don't have your code, we don't know how to use it if we did have it, we don't have your data. So try it - and see how much information you can find out! At a guess, the FindControl is failing - but it's up to you to find out why it can't find the control!
 
Share this answer
 
Comments
Member 13044689 25-Mar-17 3:43am    
i know what is contain null but idk the syntax cuz i'm new at this you can give me hint of doing this sir
OriginalGriff 25-Mar-17 3:59am    
It's not a case of syntax - it's that you need to find out *why* it's null - and you can only do that by looking at the code while it's running and finding out what exactly it is looking at. And we can't do that because we can't run your code under the same circumstances - we don't have any access to the data you filled the GridView with, or know what you did to get to that point!
So you need to use the debugger, and find out - because we cannot do that for you.
Member 13044689 25-Mar-17 4:08am    
thank u but at least something to start with
OriginalGriff 25-Mar-17 4:14am    
Seriously: we can't.
You are asking me to fix your car, without me actually knowing where your car is, what make or model it is, or to have any idea what is wrong with it - when I'm on a different continent to you! :laugh:
And when all I can do is read exactly what you type and and nothing else, I can't even tell "what colour the car is"!
It's the same with your app: the data in your Gridview is almost certainly relevant to the problem - and I can't look at that because "your car" is "locked in a garage" and I don't even know which city the garage is in!

Try the debugger - google will explain how with a simple search - and see what you can find out, because you are the only one that has access to your code and data while your app is running!
Member 13044689 25-Mar-17 4:15am    
thank u

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