RadComboBox.databind() inside RadPanelBar

2 posts, 0 answers
  1. Lukus
    Lukus avatar
    13 posts
    Member since:
    Nov 2010

    Posted 06 Jun 2011 Link to this post

    I am trying to rebind a "cb_SAACode" when "cb_bondClass" selected index is changed.  "cb_SAACode" seems to be rebinding but it is not refreshing on the page.  I tried to use the "FindControl" method to find "cb_SAACode" but it doesn't seem to help at all.  Attached are the code snippets. Note, this is not the full code so it will not compile. Thanks for the help.

    Front-end
    <asp:Content ID="Content1" ContentPlaceHolderID="HeadContent" runat="server">
    </asp:Content>
    <asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
        <telerik:RadCodeBlock ID="RadCodeBlock1" runat="server">
            <script>...</script>
        </telerik:RadCodeBlock>
     
        <asp:Panel ID="pnltest" runat="server">
            <telerik:RadAjaxManager ID="RAManager1" EnableAJAX="true" runat="server" OnAjaxRequest="RAManager1_AjaxRequest">
            </telerik:RadAjaxManager>
            <asp:UpdatePanel ID="testUP" runat="server" UpdateMode="Always" class="showcreation">
                <ContentTemplate>
                    <fieldset class="fieldsetwidth">
                        <table class="fTable">
                            <tr>
                                <td>
                                    <asp:Label ID="lbl_BondClass" runat="server" Text="Bond Class:" />
                                </td>
                                <td>
                                    <telerik:RadComboBox ID="cb_bondClass" runat="server" OnDataBinding="cb_BC_DataBinding"
                                        AutoPostBack="true" OnSelectedIndexChanged="cb_bondClass_SelectedIndexChanged"
                                        SkinID="BondClassRadComboBox">
                                        <HeaderTemplate>
                                            <ul>
                                                <li class="bondClassColOne">Bond Class </li>
                                                <li class="bondClassColTwo">Description </li>
                                            </ul>
                                        </HeaderTemplate>
                                        <ItemTemplate>
                                            <ul>
                                                <li class="bondClassColOne">
                                                    <%# DataBinder.Eval(Container, "Text")%>
                                                </li>
                                                <li class="bondClassColTwo">
                                                    <%# DataBinder.Eval(Container, "Attributes['Description']")%>
                                                </li>
                                            </ul>
                                        </ItemTemplate>
                                    </telerik:RadComboBox>
                                </td>
                            </tr>
                        </table>
                    </fieldset>
                </ContentTemplate>
            </asp:UpdatePanel>
        </asp:Panel>
        <telerik:RadPanelBar ID="rpb_BondCreation" runat="server" ExpandMode="MultipleExpandedItems"
            Width="727" Skin="Simple">
            <Items>
                <telerik:RadPanelItem Text="Statistics" Expanded="false" runat="server">
                    <Items>
                        <telerik:RadPanelItem Value="Statistics" runat="server">
                            <ContentTemplate>
                                <table class="formContent" cellspacing="1">
                                    <tr>
                                        <td>
                                            <asp:ValidationSummary ID="ValidationSummary2" runat="server" HeaderText="There were errors on the page:"
                                                DisplayMode="BulletList" ShowMessageBox="true" ValidationGroup="vg_btn_CalculatePremium"
                                                ShowSummary="false" />
                                        </td>
                                    </tr>
                                    <tr>
                                        <td colspan="2">
                                            <table>
                                                <tr>
                                                    <td>
                                                        <asp:Label ID="lbl_SAACode" runat="server" Text="SAA Code:" />
                                                    </td>
                                                    <td>
                                                        <telerik:RadComboBox ID="cb_SAACode" runat="server" HighlightTemplatedItems="true"
                                                            Skin="Simple" DropDownWidth="600px" EnableLoadOnDemand="True" Width="100px" OnClientSelectedIndexChanged="fillSAACode"
                                                            OnDataBound="cb_SAACode_DataBound">
                                                            <HeaderTemplate>
                                                                <table>
                                                                    <tr>
                                                                        <td style="width: 50px">
                                                                            SAA
                                                                        </td>
                                                                        <td style="width: 300px">
                                                                            DESC
                                                                        </td>
                                                                        <td style="width: 150px">
                                                                            GENERAL
                                                                        </td>
                                                                        <td style="width: 100px">
                                                                            RATECLASS
                                                                        </td>
                                                                        <td style="visibility: collapse;">
                                                                            SAACODEEFF
                                                                        </td>
                                                                        <td style="visibility: collapse;">
                                                                            SAACODEDIS
                                                                        </td>
                                                                    </tr>
                                                                </table>
                                                            </HeaderTemplate>
                                                            <ItemTemplate>
                                                                <table>
                                                                    <tr>
                                                                        <td style="width: 150px" id="saaVal">
                                                                            <%# DataBinder.Eval(Container, "Value")%>
                                                                        </td>
                                                                        <td style="width: 200px" id="saaDesc">
                                                                            <%# DataBinder.Eval(Container, "Text")%>
                                                                        </td>
                                                                        <td style="width: 150px" id="saaClass">
                                                                            <%# DataBinder.Eval(Container, "Attributes['GENERAL']")%>
                                                                        </td>
                                                                        <td style="width: 50px" id="saaRate">
                                                                            <%# DataBinder.Eval(Container, "Attributes['RATECLASS']")%>
                                                                        </td>
                                                                        <td style="visibility: collapse;">
                                                                            <%# DataBinder.Eval(Container, "Attributes['SAACODEEFF']")%>
                                                                        </td>
                                                                        <td style="visibility: collapse;">
                                                                            <%# DataBinder.Eval(Container, "Attributes['SAACODEDIS']")%>
                                                                        </td>
                                                                    </tr>
                                                                </table>
                                                            </ItemTemplate>
                                                        </telerik:RadComboBox>
                                                        <asp:RequiredFieldValidator ID="saacodevalidator" runat="server" ControlToValidate="cb_SAACode"
                                                            ValidationGroup="vg_btn_process" ErrorMessage="SAA Code is required." Display="None">
                                                        </asp:RequiredFieldValidator>
                                                    </td>
                                                </tr>
                                            </table>
                                        </td>
                                    </tr>
                                </table>
                                <%# DataBinder.Eval(Container, "Value")%>
                            </ContentTemplate>
                        </telerik:RadPanelItem>
                    </Items>
                </telerik:RadPanelItem>
            </Items>
        </telerik:RadPanelBar>
    </asp:Content>


    Back-end
    namespace BSGSuretyRewrite.BondCreation
    {
        [System.Web.Script.Services.ScriptService]
        public partial class BondCreation : System.Web.UI.Page
        {
            public string mError = string.Empty;
     
            public string sRollback = Environment.NewLine + " IF @@error <> 0  BEGIN ROLLBACK TRANSACTION RETURN END " + Environment.NewLine;
     
            public string qBType;
     
            protected void Page_Load(object sender, EventArgs e)
            {
                
                if (!Page.IsPostBack)
                {
                    cb_IssuedBy.DataBind();
                    ddl_TerminationProvisions.Attributes.Add("onChange", "onSelect();");
                    this.btn_ClearAddress.Attributes["onClick"] = "return false;";
                    cb_SameAddress.Attributes.Add("onclick", "javascript:OnCheck_Changed(this);");
     
                    int bidNum = int.Parse(Request.QueryString["BidNum"]);
                    qBType = Request.QueryString["bType"];
     
                    cb_bondClass.DataBind();
                    RadPanelItem item = (RadPanelItem)rpb_BondCreation.FindItemByValue("Statistics");
                    RadComboBox combo = (RadComboBox)item.FindControl("cb_SAACode");
                    combo.DataBind();
                }
            }
     
     
     
            protected void cb_bondClass_SelectedIndexChanged(object sender, RadComboBoxSelectedIndexChangedEventArgs e)
            {
                if (txt_BondType.Text == "Commercial")
                    cb_Risk.DataBind();
     
                ClearSAAcode();
            }
     
     
            protected void ClearSAAcode()
            {
                RadPanelItem item = (RadPanelItem)rpb_BondCreation.FindItemByValue("Statistics");
                RadComboBox combo = (RadComboBox)item.FindControl("cb_SAACode");
                combo.Items.Clear();
                combo.DataBind();
     
                txt_SAADescription.Text = string.Empty;
                txt_SAAClass.Text = string.Empty;
                txt_RateClass.Text = string.Empty;
            }
     
            protected void cb_SAACode_DataBound(object sender, EventArgs e)
            {
                RadComboBox SAArcb = (RadComboBox)sender;
                if (SAArcb.Items.Count != 0)
                {
                    SAArcb.Items.Clear();
                    SAArcb.Text = string.Empty;
                }
     
                int bondType = -1;
                if (qBType == "Commercial")
                    bondType = 1;
                else
                    bondType = 0;
     
                List<Saa> mySAA = UtilityBond.GetSAACodeListByTypeandClass(cb_bondClass.SelectedValue, bondType);
     
                foreach (Saa s in mySAA)
                {
                    RadComboBoxItem item = new RadComboBoxItem();
                    item.Text = s.SAA_CODE.ToString();
                    item.Value = s.SAA_DESC;
                    item.Attributes.Add("GENERAL", s.GENERAL);
                    item.Attributes.Add("RATECLASS", s.RATECLASS ?? "");
                    item.Attributes.Add("SAACODEEFF", s.ClsCodeEff.ToString() ?? "");
                    item.Attributes.Add("SAACODEDIS", s.ClsCodeDisable.ToString() ?? "");
                    SAArcb.Items.Add(item);
                    item.DataBind();
                }
                RadComboBoxItem item1 = new RadComboBoxItem();
                SAArcb.Items.Insert(0, item1);
            }
        }
    }

  2. Lukus
    Lukus avatar
    13 posts
    Member since:
    Nov 2010

    Posted 06 Jun 2011 Link to this post

    Solved it myself. Thanks anyway.
  3. UI for ASP.NET Ajax is Ready for VS 2017
Back to Top