This is a migrated thread and some comments may be shown as answers.

ComboBox Index change results in black fields

0 Answers 24 Views
ComboBox
This is a migrated thread and some comments may be shown as answers.
Peter
Top achievements
Rank 1
Peter asked on 26 Mar 2014, 04:52 PM
When the selected index changes in the combobox "ddlBuyers" other comboboxes in the grid get there value cleared? I have commented out the code that repopulates comboboxes for every row as this was resulting in very slow performance when we had large numbers of rows.

Please see the code bellow:

ASP:
<asp:TemplateField HeaderText="Buyer" HeaderStyle-Width="5.2%" ShowHeader="true">
                            <ItemTemplate>
                                <telerik:RadComboBox ID="ddlBuyers" runat="server" NoWrap="True" MaxHeight="300"
                                    Width="100%" CausesValidation="false" HighlightTemplatedItems="true" Skin="MetroTouch"
                                    AllowCustomText="false" MarkFirstMatch="True" CssClass="input-block-level" OnSelectedIndexChanged="ddlBuyers_SelectedIndexChanged"
                                    OnItemDataBound="ddlBuyers_ItemDataBound" OnClientKeyPressing="(function(sender, e){ if (!sender.get_dropDownVisible()) sender.showDropDown(); })"
                                    AutoPostBack="true" onkeydown="return ValidateEmpty(event,this);">
                                    <ItemTemplate>
                                        <ul>
                                            <li class="col1">
                                                <%# DataBinder.Eval(Container.DataItem, "BuyerCode")%>
                                            </li>
                                            <li class="col2">- </li>
                                            <li class="col3">
                                                <%# DataBinder.Eval(Container.DataItem, "BuyerName")%>
                                            </li>
                                        </ul>
                                    </ItemTemplate>
                                </telerik:RadComboBox>
                                <asp:TextBox ID="txtBuyer" runat="server" Height="36px" name="some_field" CssClass="input-block-level"
                                    Enabled="false" Text='<%#Eval("BuyerCode") %>' Visible="false"></asp:TextBox>
                                <asp:RequiredFieldValidator runat="server" Style="margin-left: 48%; display: block !important;
                                    padding-top: 0px; margin-top: 0px;" ID="rfvddlBuyers" Height="10" ForeColor="Red"
                                    ControlToValidate="ddlBuyers" ErrorMessage="*" ValidationGroup="AddClick"></asp:RequiredFieldValidator>
                            </ItemTemplate>
                            <ItemStyle CssClass="itmstyle" />
                        </asp:TemplateField>



C#:
                RadComboBox ddlBuyers = null;
                listBuyer = new List<Buyer>();
                listBuyer = ViewState["Buyer"] as List<Buyer>;
                buyer = new Buyer();
                RadComboBox ddl = (RadComboBox)sender;
                GridViewRow gvRow = (GridViewRow)ddl.Parent.Parent;
                int idx = Convert.ToInt32(gvRow.RowIndex);
                //foreach (GridViewRow row in grdWhiteFishSaleNotes.Rows)
                //{
                //    int index = Convert.ToInt32(row.RowIndex);
                //    ddlBuyers = row.FindControl("ddlBuyers") as RadComboBox;
                //    RadComboBox ddlBoxDestination = row.FindControl("ddlBoxDestination") as RadComboBox;
                //    RadComboBox ddlPresentation = row.FindControl("ddlPresentation") as RadComboBox;
                //    RadComboBox ddlDisposal = row.FindControl("ddlDisposal") as RadComboBox;
                //    RadComboBox ddlWithdrawnUsage = row.FindControl("ddlWithdrawnUsage") as RadComboBox;
                //    RadComboBox ddlPrivateSale = row.FindControl("ddlPrivateSale") as RadComboBox;
                //    RadComboBox ddlSpecies = row.FindControl("ddlSpecies") as RadComboBox;
                //    TextBox txtNoBoxes = row.FindControl("txtNoBoxes") as TextBox;
                //    TextBox txtFreeBoxes = row.FindControl("txtFreeBoxes") as TextBox;
                //    TextBox txtBoxWeight = row.FindControl("txtBoxWeight") as TextBox;
                //    TextBox txtTotalWeight = row.FindControl("txtTotalWeight") as TextBox;
                //    TextBox txtUnitPrice = row.FindControl("txtUnitPrice") as TextBox;
                //    TextBox txtActualCost = row.FindControl("txtActualCost") as TextBox;
                //    TextBox txtCostPerKilo = row.FindControl("txtCostPerKilo") as TextBox;

                //    if (idx == index)
                //    {


    RadComboBox ddlSpecies = grdWhiteFishSaleNotes.Rows[idx].FindControl("ddlSpecies") as RadComboBox;
    RadComboBox ddlBoxDestination = grdWhiteFishSaleNotes.Rows[idx].FindControl("ddlBoxDestination") as RadComboBox;
    ddlBuyers = grdWhiteFishSaleNotes.Rows[idx].FindControl("ddlBuyers") as RadComboBox;
                        ddlSpecies.Focus();

                        if (String.IsNullOrEmpty(ddlBuyers.SelectedValue))
                        {
                            ddlBuyers.SelectedValue = ddlBuyers.Text.Trim();
                        }

                        if (ViewState["Buyer"] != null)
                        {
                            var defaultDestinationList = listBuyer.Where(x => x.BuyerCode.Contains(ddlBuyers.Text.Trim())).ToList();

                            if (defaultDestinationList.Count > 0 && defaultDestinationList != null)
                            {
                                buyer = defaultDestinationList[0];

                                if (!String.IsNullOrEmpty(buyer.DefaultDestination))
                                {
                                    ddlBoxDestination.SelectedValue = buyer.DefaultDestination;
                                }

                            }
                        }

                        if (String.IsNullOrEmpty(ddlBuyers.SelectedValue))
                        {
                            ddlBoxDestination.ClearSelection();
                        }
                //    }
                //    else
                //    {
                //        ddlBoxDestination.SelectedValue = ddlBoxDestination.Text.Trim();
                //    }

                //   ddlSpecies.SelectedValue = ddlSpecies.Text.Trim();
                //    ddlPresentation.SelectedValue = ddlPresentation.Text.Trim();
                //    ddlDisposal.SelectedValue = ddlDisposal.Text.Trim();
                //    ddlWithdrawnUsage.SelectedValue = ddlWithdrawnUsage.Text.Trim();
                //    ddlPrivateSale.SelectedValue = ddlPrivateSale.Text;

                //    if (ddlDisposal.SelectedValue.Equals("WDR"))
                //    {
                //        ddlWithdrawnUsage.Enabled = true;
                //    }
                //    else
                //    {
                //        ddlWithdrawnUsage.ClearSelection();
                //        ddlWithdrawnUsage.Enabled = false;
                //    }

                //    txtNoBoxes.ToolTip = txtNoBoxes.Text;
                //    txtFreeBoxes.ToolTip = txtFreeBoxes.Text;
                //    txtBoxWeight.ToolTip = txtBoxWeight.Text;
                //    txtTotalWeight.ToolTip = txtTotalWeight.Text;
                //    txtUnitPrice.ToolTip = txtUnitPrice.Text;
                //    txtActualCost.ToolTip = txtActualCost.Text;
                //    txtCostPerKilo.ToolTip = txtCostPerKilo.Text;
                //    txtBoxes.ToolTip = txtBoxes.Text;
                //    txtWeight.ToolTip = txtWeight.Text;
                //    txtCost.ToolTip = txtCost.Text;

                //    if (!string.IsNullOrEmpty(ddlBuyers.SelectedValue))
                //    {
                //        ddlBuyers.ToolTip = ddlBuyers.SelectedValue;
                //    }

                //    if (!string.IsNullOrEmpty(ddlSpecies.SelectedValue))
                //    {
                //        ddlSpecies.ToolTip = ddlSpecies.SelectedValue;
                //    }










No answers yet. Maybe you can help?

Tags
ComboBox
Asked by
Peter
Top achievements
Rank 1
Share this question
or