sneidig
asked on
FindByValue() error? Object - Object reference not set to an instance of an object.
Ok,
I've been coding for the past few days without a hitch and then all of a sudden I run across this problem.
I have a drop down list that gets populated with a dataset that is returned from my business tier.
I've debugged this thing for 5 hours and I still cant figure it out. I've tested the dataset to make sure that it gets populated. I've checked to make sure that the page will load properly if I just bind the Dataset to the Drop Down List. Everything works fine when I'm loading the Dataset, binding it to the Drop Down list, but when I try to do a dropdownlist.items.findbyv alue("1234 5") (where 12345 is a product # in the drop down list) I get a: "Object reference not set to an instance of an object.".
I've tried hardcoding the value (that I KNOW for a fact is in the DropDownList), I"ve tried dynamically setting it through the Ds, I've tried weird looping options. I've even tried removing the DropDownList and replacing i with a listbox. But again, my dreams and aspirations are cursed by this darn error.
Here is the code i'm using:
Dim DS As New DataSet()
Dim DS2 As New DataSet()
Dim itemNumb As String
m_bus = New business()
DS = m_bus.ReturnAvailableItems ()
DS2 = m_bus.ReturnCurrentFeature dItems()
ddlFeat1.DataSource = DS
ddlFeat1.DataTextField = "ITEMDESC"
ddlFeat1.DataValueField = "item_number"
ddlFeat1.DataBind()
itemNumb = DS2.Tables(0).Rows(0)("ite m_number")
ddlFeat1.Items.FindByValue (DS2.Table s(0).Rows( 0)("item_n umber")).S elected = True
The last line is where i get the error.
Does anyone see what might be causing this?
I've been coding for the past few days without a hitch and then all of a sudden I run across this problem.
I have a drop down list that gets populated with a dataset that is returned from my business tier.
I've debugged this thing for 5 hours and I still cant figure it out. I've tested the dataset to make sure that it gets populated. I've checked to make sure that the page will load properly if I just bind the Dataset to the Drop Down List. Everything works fine when I'm loading the Dataset, binding it to the Drop Down list, but when I try to do a dropdownlist.items.findbyv
I've tried hardcoding the value (that I KNOW for a fact is in the DropDownList), I"ve tried dynamically setting it through the Ds, I've tried weird looping options. I've even tried removing the DropDownList and replacing i with a listbox. But again, my dreams and aspirations are cursed by this darn error.
Here is the code i'm using:
Dim DS As New DataSet()
Dim DS2 As New DataSet()
Dim itemNumb As String
m_bus = New business()
DS = m_bus.ReturnAvailableItems
DS2 = m_bus.ReturnCurrentFeature
ddlFeat1.DataSource = DS
ddlFeat1.DataTextField = "ITEMDESC"
ddlFeat1.DataValueField = "item_number"
ddlFeat1.DataBind()
itemNumb = DS2.Tables(0).Rows(0)("ite
ddlFeat1.Items.FindByValue
The last line is where i get the error.
Does anyone see what might be causing this?
ASKER
I know that the ddlFeat1 is getting populated. I know that the ItemNumb is populated.
And i still get the error. That seems to be my issue.
Thanks again.
And i still get the error. That seems to be my issue.
Thanks again.
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
it says the object is null.
So check it out though...
I comment out the ".findbyvalue()" and just let the page load.
The page then loads up all three DropDownLists perfectly.
If i look at the source, the data is found in there.
OH jeez... i have no idea...
So check it out though...
I comment out the ".findbyvalue()" and just let the page load.
The page then loads up all three DropDownLists perfectly.
If i look at the source, the data is found in there.
OH jeez... i have no idea...
Right click on the browser and view its source code. Do you see value there?
ASKER
I started doing a trace ... and I found my problem (your code helped me thinka bout it in a different way so I'll reward you the points).
The problem was that the item numbers in the DB are stored as Varchar(20). When i'd get the data from one table it would return an item number that looked like this "11355" and then the other tablle (which was what the DDL was bound to) looked like this "11355 " It had a ton of white space.
I trimmed it in SQL Server and blammo, it works.
Thanks for the help though.
Now if i could only get these last 6 hours back!
The problem was that the item numbers in the DB are stored as Varchar(20). When i'd get the data from one table it would return an item number that looked like this "11355" and then the other tablle (which was what the DDL was bound to) looked like this "11355 " It had a ton of white space.
I trimmed it in SQL Server and blammo, it works.
Thanks for the help though.
Now if i could only get these last 6 hours back!
If Not IsDbNull(itemNumb)
If ddlFeat1.Items.Count > 0 Then
ddlFeat1.Items.FindByValue
End If
End If