Hi,
When the page loads the WebDropDown is populated with a dataset which is then set to nothing.
When I select a value in the table in the dropdown I populate other textfields based on the values read from the selection in the table in the dropdown.
After that page is posted back, the values in the table in the webdropdown are no longer visible but when selected the values from the selected item do populate the textfields correctly.
It seems that the data is not visible but is there to select from.
Does anyone have any suggestions, I have pretty much exhausted my options?
Thanks!
If you are using <ItemTemplate> you will have to rebind (call DataBind() on the control), after every postback. Data Items are not stored into ViewState , therefore your DataBinding expressions will not evaluate any data.
Thanks,
Angel
I am not using <Item Template> at this point and when I add the line of code wddRecipients.DataBind() at the very end of Page_Load just before the End Sub, I get the following error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
[NullReferenceException: Object reference not set to an instance of an object.] Veritext.VIP21.Web.SendNotices.RecipientChanged() +119 Veritext.VIP21.Web.SendNotices.wddRecipients_ValueChanged(Object sender, DropDownValueChangedEventArgs e) +70 Infragistics.Web.UI.ListControls.WebDropDown.OnValueChanged(DropDownValueChangedEventArgs e) +115 Infragistics.Web.UI.ListControls.DropDownBot.RaisePostDataChangedEvent() +2035 Infragistics.Web.UI.Framework.RunBot.HandleRaisePostDataChangedEvent() +213 Infragistics.Web.UI.Framework.Data.FlatDataBoundControl.RaisePostDataChangedEvent() +34 System.Web.UI.Page.RaiseChangedEvents() +165 System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1485
In addition to that I am calling the PopRecipients() Sub when it is not a postback. This calls a Business and then Data Layer FilesLogic.GetRecipients(these values don't matter here) and populates a dataset which in turn is used to set the datasource of the control.
Private Sub PopRecipients() ' Retrieve all the Recipients from the Recipients table and populate the Recipient dropdown. wddRecipients.Items.Clear() Dim dsRecipients As New DataSet dsRecipients = FilesLogic.GetRecipients(123, "vip21") If dsRecipients.Tables.Count > 0 Then If dsRecipients.Tables(0).Rows.Count > 0 Then wddRecipients.DataSource = dsRecipients.Tables(0).DefaultView wddRecipients.ValueField = "rowid" wddRecipients.TextField = "LastName" wddRecipients.DataBind() End If End If dsRecipients = Nothing End Sub
And finally ... here is how the control is defined on the aspx page ...
<td align="left" valign="top" colspan="2"> <span class="value"> <label><asp:Literal id="ltlAddressBook" runat="server" />Address Book</label> </span> <ig:WebDropDown ID="wddRecipients" Width="100%" runat="server" EnableTheming="true" DropDownContainerWidth="375px" DropDownAnimationDuration="1000" AutoPostBack="true" OnSelectionChanged="wddRecipients_SelectionChanged" OnValueChanged="wddRecipients_ValueChanged" StyleSetName="Appletini" CurrentValue=""> </ig:WebDropDown> </td>
I removed the table portion of the webdropdown and I was able to get it to behave appropriately. I wrapped the control in an updatepanel and the section of the page in an updatepanel. I removed the databind on the control on every postback and that also made it work correctly.
However; after getting to work properly, I wanted to put the table back into it.
When I put the table portion back to the webdropdown the data disappeared after the first postback again. I tried doing a databind after each postback as suggested and it made no difference.
Hi Jay,
Please could you upload your sample that reproduces the issue and we will investigate it further.
Thanks for your cooperation.
Hello raghumuvvala,
I've reproduced the described behavior. The resolution for it is if you bind the control on each postback not only at the first time.
Best regards,
Hi
I am using webdropdown with itemtemplate and on the postback i cannot see the dataitems but can select them i am doing a databind on every postback too can you please let me know if we need to do anything else.
<ig:WebDropDown runat="server" ID="ddlCSModel" Width="200px"
loadingItemsMessageText ="loading..."
AutoPostBack="true"
DropDownContainerHeight="150px"
DropDownContainerWidth="500px"
OnSelectionChanged="ddlCSModel_SelectionChanged"
>
<HeaderTemplate>
<table style="width: 100%; height: 40px; background-color:DarkBlue;color: White; font-size: 20px; font-weight: bold;" cellspacing="0" cellpadding="4">
<tr>
<td style="width: 350px;">
Model Name
</td>
<td style="width: 150px;">
As of Date
</tr>
</table>
</HeaderTemplate>
<ItemTemplate>
<table style="width: 100%;" cellspacing="0" cellpadding="4">
<tr style="border-bottom: solid 1px #ff0000;">
<%# DataBinder.Eval(Container.DataItem, "MODEL_NAME")%>
<td style="width: 150px; padding-left: 10px;">
<%# DataBinder.Eval(Container.DataItem, "AsOfDate")%>
</ItemTemplate>
</ig:WebDropDown>
I made all the same changes and am definitely using version 10.2 only.
Now when I hover over the dropdown arrows on the webdropdown, they flicker.
It seems like the size is getting slightly larger and smaller very rapidly giving it the flickering effect.
I can however eventually get a click event to trigger and when I do it a second time again the data does not appear. So I still have the same problem in addition to the new problem of the flickering.
I am not doing a databind of the webdropdown except for on every postback in the page_load event.
Hi John,
Great! It's nice to hear that the issue is resolved. In my previous post I addressed Jay's issue which is similar to yours. If you do not experience any issues with this version my advice is to keep it running. If you find out any is good to know that there are hot fixes available.
Thanks.
Excellent, that made the trick. I also had changed the AutoPostBackFlags already.
It seems that I'm using version 10.2 see this:
Register
="Infragistics35.Web.v10.2, Version=10.2.20102.1011,
Do I still need to install the service pack?
Thank you so much for your help.
John