ComboBox Index change results in black fields

1 posts, 0 answers
  1. Peter
    Peter avatar
    1 posts
    Member since:
    Mar 2014

    Posted 26 Mar 2014 Link to this post

    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;
                    //    }










Back to Top