I am using a WebDropDown in multiple selection mode and adding items manually in my Page_Load event.
When the page loads, the first item in the list is always automatically selected. I can not find a way to turn this off.
During a postback, the correct items remain selected/deselected, it's just that when my page is first loaded, the first item is preselected.
I need to have no items selected on first page load.
Hello,
I was not able to see the first item selected using NetAdvantage version 12.1.20121.2072 and IE 9. I used below HTML mark up and code to test this:
HTML MarkUp:
<ig:WebDropDown ID="WebDropDown1" runat="server" Width="200px" EnableMultipleSelection="True"> </ig:WebDropDown>
Code:
DropDownItem wd = new DropDownItem(); wd.Text = "First"; wd.Value = "1"; this.WebDropDown1.Items.Add(wd);
DropDownItem wd1 = new DropDownItem(); wd1.Text = "Second"; wd1.Value = "2"; this.WebDropDown1.Items.Add(wd1);
If you want to clear selected items explicitly on page load, I would suggest you to use SelectedItems.Clear(); method as shown below:
if (!IsPostBack)
this.WebDropDown1.SelectedItems.Clear();
I hope this helps.
Bhadresh,
Here is a sample using .NET 3.5 and Infragistics version 12.1.20121.2020.
This sample demonstrates exactly what I am talking about.
When the page loads on the client, the first item is automatically selected.
When I check in the Page_LoadComplete() event on the server, there are zero selected items.
wvusaf
Hello wvusaf,
Thank you for the sample provided. I was able to see the behavior you described using the sample provided. I reviewed the sample and found this behavior is present when DisplayMode is set to "DropDownList" for WebDropDown. This behavior is default when DisplayMode is set to "DropDownList". Refer to the link below that will give more details on this:
http://ko.infragistics.com/community/forums/t/50418.aspx
You can take below approaches to implement the behavior you described:
1) Set DisplayMode = DropDown, and cancel the ValueChanging client-side event, in case the entry doesn't match an item as shown on the above forum thread.
2) You can add first item and hide it as shown below:
Me.WebDropDown1.Items.Insert(0, New DropDownItem(" ", " ", "", "")) Me.WebDropDown1.Items(0).Visible = False
3) You can handle client side Initialize event of WebDropDown and unselect item and checkbox as shown below:
function WebDropDown1_Initialize(sender, eventArgs) { ///<summary> /// ///</summary> ///<param name="sender" type="Infragistics.Web.UI.ControlMain"></param> ///<param name="eventArgs" type="Infragistics.Web.UI.EventArgs"></param>
if (document.readyState == "complete") {
var item0 = sender.get_items().getItem(0);
item0.unselect();
item0.get_element().childNodes[0].checked = false; } }
The idea of the Microsoft asp:DropDownList that is mentioned in the other post makes sense. However, that dropdown is not capable of multi-selection like the Infragistics WebDropDown is. Once you turn on Multiselect on the ig:WebDropDown, it doesn't make sense to have DisplayMode set to DropDown. Since each item can be rendered with a checkbox, we know that ALL items will be valid selections. All you need to be able to do is check the checkbox, so there should be no typing in the WebDropDown at all. For Multi-select with checkboxes, the only logical DisplayMode is DropDownList so there should be no reason to automatically select the first item in the list in this case.
Do this feature request has been implemented yet? 4 year later I can't find it.
Thank you for the update. Feel free to update me if you need any further assistance with this matter.
This only works when DisplayMode is set to DropDown. It has no effect when DisplayMode is set to DropDownList, which is the setting that I was using.
Hi All,
Apologies, due to some pc/broswer problem, the last two posts became as "Suggested Answer". Not sure how to undo!!
Hi wvusaf,
Can you try giving CurrentValue="" in the markup or code behind. This will make the WebDropDown to display blank