| <MasterTableView> |
| <DetailTables> |
| <telerik:GridTableView ShowFooter="true"> |
| <ParentTableRelation>etc...</ParentTableRelation> |
| <Columns> |
| <telerik:GridBoundColumn HeaderText="Affiliate" DataField="affiliate"/> |
| <telerik:GridBoundColumn HeaderText="Records Received" DataField = "RecordCount" Aggregate="Sum" UniqueName="RecordCount" DataFormatString="{0:N0}"/> |
| </Columns> |
| <DetailTables> |
| <telerik:GridTableView ShowFooter="true" GridLines="None" runat="server" Name="Data" FooterStyle-ForeColor="White"> |
| <ParentTableRelation>etc...</ParentTableRelation> |
| <Columns> |
| <telerik:GridBoundColumn DataField="SubID" HeaderText="SubID" UniqueName="SubID" /> |
| <telerik:GridBoundColumn HeaderText="Record Count" DataField="Record Count" ="Record Count" DataFormatString="{0:N0}" /> |
| </Columns> |
| </telerik:GridTableView> |
| </DetailTables> |
| </telerik:GridTableView> |
| </DetailTables> |
| <Columns> |
| etc... |
| </Columns> |
| </MasterTableView> |
I have a form I'm working on where I would like to update 2 RadComboboxes when 1 is changed.
What I'm finding is when I call requestItems() that it does it for the first child box, but not the second.
Has anyone figured out a way to do this?
Sample code is below:
| <%@ Page Language="VB" Trace="false" %> |
| <%@ Register assembly="Telerik.Web.UI" namespace="Telerik.Web.UI" tagprefix="telerik" %> |
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/tr/xhtml11/DTD/xhtml11.dtd"> |
| <script runat="server"> |
| Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) |
| Dim cmbo As New RadComboBox |
| cmbo.ID = "RadComboBox1" |
| cmbo.EnableLoadOnDemand = True |
| cmbo.Filter = RadComboBoxFilter.StartsWith |
| cmbo.AllowCustomText = False |
| cmbo.MarkFirstMatch = True |
| cmbo.EmptyMessage = "Data not found" |
| cmbo.Width = 186 |
| cmbo.OnClientSelectedIndexChanging = "goLoadCountries" |
| cmbo.OnClientItemsRequesting = "buildForm" |
| AddHandler cmbo.ItemsRequested, AddressOf RadComboBox1_ItemsRequested |
| Dim l As New Label |
| l.ID = "Label1" |
| l.AssociatedControlID = cmbo.ID |
| l.Text = "Continent: " |
| divPrompts.Controls.Add(l) |
| divPrompts.Controls.Add(cmbo) |
| ' build more combox, done after the above code so the items requested fires for #1 |
| cmbo = New RadComboBox |
| cmbo.ID = "RadComboBox2" |
| cmbo.EnableLoadOnDemand = False ' this needs to be set to false to not allow the user from inputting their own values |
| 'cmbo.Filter = RadComboBoxFilter.StartsWith |
| cmbo.AllowCustomText = False |
| cmbo.MarkFirstMatch = True |
| cmbo.EmptyMessage = "Data not found" |
| cmbo.Width = 186 |
| cmbo.OnClientSelectedIndexChanging = "goLoadCountries" |
| cmbo.OnClientItemsRequesting = "buildForm" |
| cmbo.OnClientItemsRequested = "ItemsLoaded" |
| cmbo.Attributes.Add("parent", "RadComboBox1") |
| AddHandler cmbo.ItemsRequested, AddressOf RadComboBox1_ItemsRequested |
| l = New Label |
| l.ID = "Label2" |
| l.AssociatedControlID = cmbo.ID |
| l.Text = "Country: " |
| divPrompts.Controls.Add(l) |
| divPrompts.Controls.Add(cmbo) |
| cmbo = New RadComboBox |
| cmbo.ID = "RadComboBox3" |
| cmbo.EnableLoadOnDemand = False 'True |
| 'cmbo.Filter = RadComboBoxFilter.StartsWith |
| cmbo.AllowCustomText = False |
| cmbo.MarkFirstMatch = True |
| cmbo.EmptyMessage = "Data not found" |
| cmbo.Width = 186 |
| cmbo.OnClientSelectedIndexChanging = "goLoadCountries" |
| cmbo.OnClientItemsRequesting = "buildForm" |
| cmbo.OnClientItemsRequested = "ItemsLoaded" |
| cmbo.Attributes.Add("parent", "RadComboBox1") |
| AddHandler cmbo.ItemsRequested, AddressOf RadComboBox1_ItemsRequested |
| l = New Label |
| l.ID = "Label3" |
| l.AssociatedControlID = cmbo.ID |
| l.Text = "City: " |
| divPrompts.Controls.Add(l) |
| divPrompts.Controls.Add(cmbo) |
| If Not Page.IsPostBack Then |
| 'fill the continents combo |
| RadComboBox1_ItemsRequested(divPrompts.FindControl("RadComboBox1"), New RadComboBoxItemsRequestedEventArgs) |
| End If |
| End Sub |
| Protected Sub RadComboBox1_ItemsRequested(ByVal o As Object, ByVal e As RadComboBoxItemsRequestedEventArgs) |
| Dim cmbo As RadComboBox = DirectCast(o, RadComboBox) |
| cmbo.Items.Clear() |
| Select Case cmbo.ID |
| Case "RadComboBox1" |
| For y As Integer = 0 To 10 |
| cmbo.Items.Add(New RadComboBoxItem(y, y)) |
| Next |
| Case Else |
| cmbo.Items.Add(New RadComboBoxItem("Box 1 value: " & e.Context("RadComboBox1").ToString(), e.Context("RadComboBox1").ToString())) |
| End Select |
| End Sub |
| </script> |
| <html xmlns="http://www.w3.org/1999/xhtml" style="height:100%;"> |
| <head id="Head1" runat="server" > |
| <title></title> |
| </head> |
| <body style="height:100%;margin:0px;" scroll="no" > |
| <form id="form1" method="post" runat="server" style="height:100%;margin:0px;"> |
| <telerik:radscriptmanager ID="RadScriptManager1" runat="server"> |
| </telerik:radscriptmanager> |
| <div id="divPrompts" runat="server" > |
| </div> |
| <script type="text/javascript"> |
| function goLoadCountries(combo, eventArqs) |
| { |
| var item = eventArqs.get_item(); |
| var prompt; |
| combo.tempVal = item.get_value(); |
| for (i = 0; i < Telerik.Web.UI.RadComboBox.ComboBoxes.length; i++) { |
| prompt = Telerik.Web.UI.RadComboBox.ComboBoxes[i]; |
| if (prompt.get_attributes().getAttribute("parent") == combo.get_id()) { |
| prompt.set_text("Loading..."); |
| prompt.requestItems(item.get_value(), false); |
| } |
| } |
| } |
| function ItemsLoaded(combo, eventArgs) { |
| if (combo.get_items().get_count() > 0) |
| { |
| combo.get_inputDomElement().className = "rcbInput"; |
| var item = combo.get_items().getItem(0); |
| item.select(); |
| } |
| } |
| function buildForm(sender, eventArgs){ |
| var context = eventArgs.get_context(); |
| for (i=0; i<Telerik.Web.UI.RadComboBox.ComboBoxes.length; i++){ |
| context[Telerik.Web.UI.RadComboBox.ComboBoxes[i].get_id()] = Telerik.Web.UI.RadComboBox.ComboBoxes[i].tempVal; |
| } |
| } |
| </script> |
| </form> |
| </body> |
| </html> |
| TableView1 = $find("<%= TableView1.ClientID %>").get_masterTableView(); |
| TableView2 = $find("<%= TableView2.ClientID %>").get_masterTableView(); |
| function ChangePages(argument) { |
| //Method 1 |
| TableView1.page(argument); |
| TableView2.page(argument); |
| //Method 2 |
| TableView1.set_currentPageIndex(page); |
| TableView2.set_currentPageIndex(page); |
| } |
<
asp:ScriptManager ID=ScriptManager1 runat=server />
<p />
Some Text outside asp:UpdatePanel "<%= Resources.Resource.btnSubmit %>"
<p />
<telerik:RadAjaxManager ID="RadAjaxManager1" runat="server">
<AjaxSettings>
<telerik:AjaxSetting AjaxControlID="updPanel1">
<UpdatedControls>
<telerik:AjaxUpdatedControl ControlID="updPanel1" LoadingPanelID="RadAjaxLoadingPanel1" />
</UpdatedControls>
</telerik:AjaxSetting>
</AjaxSettings>
</telerik:RadAjaxManager>
<telerik:RadAjaxLoadingPanel ID="RadAjaxLoadingPanel1" runat="server" Transparency="30" BackColor="#E0E0E0" InitialDelayTime="500">
<asp:Image ID="Image1" runat="server" ImageUrl="~/images/icons/loading.gif" BorderWidth="0px" AlternateText="Loading" ></asp:Image>
</telerik:RadAjaxLoadingPanel>
<asp:UpdatePanel ID="updPanel1" runat="server" UpdateMode=Conditional ChildrenAsTriggers=true >
<ContentTemplate>
<p />
<asp:Label ID=Label1 runat=server Text="Button Clicked at " />
<p />
<asp:Button ID=Button1 runat=server OnClick="Button1_Click" Text="<%$ Resources:Resource,btnSubmit %>" />
<p />
Same Text within asp:UpdatePanel "<%= Resources.Resource.btnSubmit %>"
</ContentTemplate>
</asp:UpdatePanel>
Any Ideas?
Thanks