
Signature
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
On Nov 14, 2:52 am, "Eliyahu Goldin"
<REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.org> wrote:
> Do all ddls share the same items?
>
[quoted text clipped - 46 lines]
>
> - Show quoted text -
So you are saying that by setting the SelectIndex of (say) the first
ddl ALL of the ddls in that group get set along with it?
So how do I replicate the item collection for every single ddl? I
don't understand what you mean. Could you give me a code example?
Thanks so much for your help.
Steve
Eliyahu Goldin - 14 Nov 2007 16:16 GMT
I mean every ddl should have it's own item collection, not shared with the
other ddls.
How do you populate the ddls?

Signature
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
> On Nov 14, 2:52 am, "Eliyahu Goldin"
> <REMOVEALLCAPITALSeEgGoldD...@mMvVpPsS.org> wrote:
[quoted text clipped - 58 lines]
> Thanks so much for your help.
> Steve
S_K - 14 Nov 2007 16:32 GMT
> On Nov 14, 2:52 am, "Eliyahu Goldin"
>
[quoted text clipped - 63 lines]
>
> - Show quoted text -
I FOUND THE PROBLEM!!!
This is what happend.
In my code I called a method to fill the Items value for each
DropDownList using a ListItem as in the code:
for (int i = 0; i < listPaymentReq.Count; i++)
{
ListItem li = new
ListItem(listPaymentReq[i].Payment_Req_Code.ToString(),
listPaymentReq[i].Payment_Req_ID.ToString());
DropDownList1.Items.Insert(i, li);
DropDownList2.Items.Insert(i, li);
DropDownList3.Items.Insert(i, li);
.
.
. }
Note that the "li" is a pointer and I'm inserting the SAME Items value
into each ddl! This apparently means that the SelectedIndex for each
ddl is also a pointer pointing to the same location as well.
You learn something new everyday.
thanks for the help.
Steve
Eliyahu Goldin - 14 Nov 2007 16:51 GMT
> This apparently means that the SelectedIndex for each
> ddl is also a pointer pointing to the same location as well.
SelectedIndex is not a pointer, it is a property and when you set or get it,
some code runs.
When you "set" it, asp.net goes to the Items collection and mark the item as
"Selected" be setting li.Selected = true.
When you "get" the SelectedIndex on another ddl, asp.net goes to the Items
collection, finds the item with Selected=true and returns it's index. This
causes the effect you observed and successfully fixed.

Signature
Eliyahu Goldin,
Software Developer
Microsoft MVP [ASP.NET]
http://msmvps.com/blogs/egoldin
http://usableasp.net
>> On Nov 14, 2:52 am, "Eliyahu Goldin"
>>
[quoted text clipped - 94 lines]
>
> Steve