dropdownlist problem

B

brianflanagan

Hi all,

Please forgive if this has been answered before, but I haven't been
able to find the solution. I'm working on a project for school that
will use a dropdownlist populated by data from a database. The
dropdownlist will use the onselectedindexchanged event to trigger a
subroutine that will populate a datagrid based on the selected item in
the dropdownlist.

I've got the dropdownlist and the sub to handle populating the
datagrid, but one other aspect of the problem is that all items are to
fire the event that loads the datagrid. The challenge is to have the
event fire when the first item is selected. But by default, the first
item of a datagrid is already selected and clicking on it won't fire
the onselectedidexchanged event. According to the instructor, "this
can be easily accomplished with one line of code, but it was not
covered during the course."

I've been scanning the web and all my books, but can't figure it out.
Any suggestions would be most appreciated...
 
B

brianflanagan

Well, I found a workaround...

if not page.ispostback then add a new item at index 0 with a text value
= "Select...", which becomes the default selected item. Next time
around, I dropdownlist1.items.removeat(0) if the text="Select..."

While this works, it's not the "one line of code" solution it's
supposed to be. I'm still hopeful for that easy one line solution...
 
G

Guest

I assume that you are populating the dropdown from a database with an SQL
statement. We use a union on our select something like

Select
0 as UserID,
" " as Display Name
Union
Select
....... Whatever your current SQL is

This creates a blank line at the beginning of the DropDown list.

I would be interested in the one line of code as well.

Steven
 
J

James Doughty

This may not be the solution but what I do
in the page load

if not page.ispostback
.....
do the drop down list databinding
onselectedindexchanged(nothing,nothing)
end if

This is done in one line since the rest should be doing anways


James

(e-mail address removed) wrote in @f14g2000cwb.googlegroups.com:
 
E

EJD

I may have misunderstood the question, but this might help. I have a
dropdownlist in a user control that displays a number of items, and
when an item is selected it redirects to a page that has several
datagrids based on the choice.
If(!IsPostBack)
{
// gets values from database
PopulateDDL():
DropDownList1.DataBind()
DropDownList1.Items.Insert(0, "Please select a
service...");
}
This add a dummy value at the top that means all of the other values
will cause a postback and whatever action I want. It's not elegant,
but it works. HTH.

Eric
 
E

EJD

I may have misunderstood the question, but this might help. I have a
dropdownlist in a user control that displays a number of items, and
when an item is selected it redirects to a page that has several
datagrids based on the choice.
If(!IsPostBack)
{
// gets values from database
PopulateDDL():
DropDownList1.DataBind()
DropDownList1.Items.Insert(0, "Please select a
service...");
}
This add a dummy value at the top that means all of the other values
will cause a postback and whatever action I want. It's not elegant,
but it works. HTH.

Eric
 
B

brianflanagan

Thanks for the help!

I implemented a solution where if not page.ispostback, I added a blank
line at the top, forcing the user to make a selection. Then, if
page.ispostback, I simply eliminate the blank line. I have a feeling
that this is what the instructor was looking for, so that's what I'm
going with. :)

I'll keep you posted if the solution is different.

Brian
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,995
Messages
2,570,226
Members
46,815
Latest member
treekmostly22

Latest Threads

Top