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

RadComboBox.databind() inside RadPanelBar

1 Answer 86 Views
PanelBar
This is a migrated thread and some comments may be shown as answers.
Lukus
Top achievements
Rank 1
Lukus asked on 06 Jun 2011, 08:30 PM
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);
        }
    }
}

1 Answer, 1 is accepted

Sort by
0
Lukus
Top achievements
Rank 1
answered on 06 Jun 2011, 09:53 PM
Solved it myself. Thanks anyway.
Tags
PanelBar
Asked by
Lukus
Top achievements
Rank 1
Answers by
Lukus
Top achievements
Rank 1
Share this question
or