Using 2009.1 controls.
I've added a WebDropdown to my edititemtemplate in a formview. I've enabled multiselect and bound it to a datasource.
<ig:WebDropDown ID="WebDropDown1" runat="server" DataSourceID="SqlDataSource_SystemTypes" TextField="Item_Text" ValueField="Item_Value" DropDownAnimationType="Linear" DropDownContainerHeight="0px" DropDownContainerMaxHeight="0px" DropDownContainerWidth="0px" EnableDropDownAsChild="True" EnableMultipleSelection="True" MultipleSelectionType="Checkbox" PageSize="0" Width="100%"> </ig:WebDropDown>
The webDropdown is visible (aside from the dropdown arrow graphic whereever that is supposed to exist) and it is populated properly.
I can check multiple items. Looks good.
When I handle my formview_updating event to grab the selections so I can stuff them in a table, I have only the items I initially selected when the formview was databound. No items that I have checked on the form are marked as selected in the webdropdown.items or selecteditems collections.
How depressing.
Is there some way to reliably access the selected items?
I found it (at least partially).
It appears the server side events were not firing because my Webdropdowns had the same clientID in each of the formview templates (something I do all the time which normally works). Apparently with the webdropdown, events do not get bound correctly and they do not fire.
I gave the webdropdown a different clientID in each template, and suddenly my events fire and my selecteditems collection had the correct items on postback.
What a PITA, but now I have it mostly working.
Last question, How do I make the webdropdown NOT allow a user to change selections (ie read only). I've tried DisplayMode="ReadOnlyList" but the user can still check/uncheck selections.
Well, I've had to refund my client's money for the Infragistics controls. I guess I own this.
I still have to make a multiselect listbox of some kind that actually works in order to keep them from cancelling my development contract which is now several weeks behind schedule - the last hurdle being this thing.
So far, it is obvious that the dropdownlist does NOT work in a formview.
I can at least get client side events to fire if it is not in a formview (taking code directly from the code samples page). Still seriously unreliable, but the events fire. Select 3 items, close the dropdown, *some* will show in the comma seperated in the closed dropdownlist control. Then unselect one - it still shows in the closed dropdownlist control. Some of the selected ones don't show in the dropdown.
Server events do NOT fire. Ever, from what I see.
I need help with this. Now.
Yes, I'm stressed.
Hi,
You don't need Update or WARP panels for ajax functionality. The keyboard navigation issues are very strange. Also i am not sure why the server side events don't fire in your case.
I will try looking at your sample. If i cannot reproduce your issues, we can go through it over WEbEx.
Thank you,
Angel
I thought I was done with this for the evening but I see one more thing. No events firing on the server for the webdropdown. I see this has been an issue for a bunch of people.
Looking at other threads, I've changed my declaration to..
<ig:WebDropDown ID="WebDropDown1" runat="server" DataSourceID="SqlDataSource_SystemTypes" TextField="Item_Text" ValueField="Item_Value" DropDownAnimationType="Linear" DropDownContainerHeight="0px" DropDownContainerMaxHeight="0px" DropDownContainerWidth="0px" EnableDropDownAsChild="True" EnableMultipleSelection="True" MultipleSelectionType="Checkbox" PageSize="0" Width="100%" StyleSetName="Default" StyleSetPath="~/ig_res" onselectionchanged="WebDropDown1_SelectionChanged"> <DropDownItemBinding TextField="Item_Text" ValueField="Item_Value" /> <AutoPostBackFlags ValueChanged="On" /> <ClientEvents /> <Button ImageUrl="~/ig_images/ig_cmboDownXP1.png" /> </ig:WebDropDown>
Changing selections does not cause a postback or fire the server side event. Also tried <AutoPostBackFlags SelectionChanged="On" /> instead - still no postback or event.
And my last desperate questions for the evening..
Being an AJAX control - this doesn't need to be in some sort of updatepanel?
And, you are sure this should be working in a formView control?