VB.net store/select values in multiline listbox based on DB tables.

Hi,

I have a pretty simple VB.net page displaying a logged in user's preferences that I am trying to add a new control to. I'm adding a multi line listbox which loads a list of countries from a table (lets say tblCountry). This table contains reference data of country names and country IDs.

However, when this listbox is loaded, I want it to select countries based on the current user's "preferred countries". Which means I need to store the user's selected countries in a different table somewhere - not the tblCountry table.

I have no problems loading the country list from tblCountry and binding it to the listbox but I can't work out how to also load and store the selected countries into another table and update the selected values of the multiline listbox on this user preferences page.

Any ideas?
bradderickAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

jef06Commented:
You can do an LEFT OUTER JOIN with this other table, and if the value is null it means that the user does not have selected anything otherwise you have the value previously selected.
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
bradderickAuthor Commented:
Okay that sounds like it would work. But how to set the Selected property for the appropriate countries in the listbox then?

Currently the DataTextField property is set to the field  "CountryName" and DataValueField property is set to "iCountryID" before the databind.

How do I set the selected items based on the outerjoin you mentioned?
0
jef06Commented:
If you can select multiple countries use the left outer join and use LisItem and for each element check if there is a value, but it looks like you can select only one country in your case, it might be better to create a method that return the country selected and you set the SelectedIndex in looping threw your values.
0
bradderickAuthor Commented:
No actually you were right in the first place - the user can select multiple countries. Can you wlaborate a little more about the listitem method?

Any example code would be excellent!
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
ASP.NET

From novice to tech pro — start learning today.

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.