public void FormControlAddress_StateReferenceCompleted(Object sender, Server.Application.StateReferenceCompletedEventArgs e) { // FINISH LINKING REFERENCE CONTROLS foreach (Client.Core.Forms.Control currentControl in form.GetAllControls()) { if (currentControl.ControlType == Mercury.Server.Application.FormControlType.Address) { Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)currentControl; Telerik.Windows.Controls.RadComboBox stateComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_State"); if (stateComboBox != null) { stateComboBox.ItemsSource = e.Result.ResultList; // stateComboBox.SelectedValue = addressControl.State; stateComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("State", addressControl, System.Windows.Data.BindingMode.OneWay)); } } } return; }
public void FormControlAddress_CityReferenceByStateCompleted(Object sender, Server.Application.CityReferenceByStateCompletedEventArgs e) { // RELINK CITY REFERENCES foreach (Client.Core.Forms.Control currentControl in form.GetAllControls()) { if (currentControl.ControlType == Mercury.Server.Application.FormControlType.Address) { Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)currentControl; Telerik.Windows.Controls.RadComboBox cityComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_City"); Telerik.Windows.Controls.RadComboBox stateComboBox = (Telerik.Windows.Controls.RadComboBox)FindName(addressControl.ControlId.ToString() + "_State"); if ((stateComboBox != null) && (cityComboBox != null)) { cityComboBox.ItemsSource = e.Result.Collection; cityComboBox.DisplayMemberPath = "City"; cityComboBox.SelectedValuePath = "City"; cityComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("City", addressControl, System.Windows.Data.BindingMode.OneWay)); } } } return; }
public void FormControlAddress_StateSelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e) { Telerik.Windows.Controls.RadComboBox stateComboBox = (Telerik.Windows.Controls.RadComboBox)sender; if (stateComboBox == null) { return; } if (stateComboBox.SelectedValue == null) { return; } Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)stateComboBox.Tag; if (addressControl == null) { return; } Boolean valueChanged = (stateComboBox.SelectedValue.ToString() != addressControl.State); valueChanged = ((valueChanged) && (addressControl.EnabledAndNotReadOnly)); if (valueChanged) { addressControl.State = stateComboBox.SelectedValue.ToString(); addressControl.AddressId = 0; stateComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("State", addressControl, System.Windows.Data.BindingMode.OneWay)); if ((addressControl.HasEventHandler("AddressChanged")) || (addressControl.HasDependencyDataBinding)) { FormServerProcessing_ControlPanelDisable(addressControl, Mercury.Client.Core.Forms.ServerProcessRequestType.ValueChanged); form.ValueChanged(addressControl, FormServerProcessCompleted); } } // MAKE SURE TO UPDATE CITY REFERENCE (INDEPENDENT OF CHANGE) // THIS COULD BE FROM A POSTBACK/SERVER-UPDATE THAT NEEDS TO RESET THE STATE TO MAINTAIN THE CITY INFORMATION MercuryApplication.CityReferenceByState(addressControl.State, true, FormControlAddress_CityReferenceByStateCompleted); return; }
public void FormControlAddress_CitySelectionChanged(object sender, Telerik.Windows.Controls.SelectionChangedEventArgs e) { Telerik.Windows.Controls.RadComboBox cityComboBox = (Telerik.Windows.Controls.RadComboBox)sender; if (cityComboBox == null) { return; } if (cityComboBox.SelectedValue == null) { return; } Client.Core.Forms.Controls.Address addressControl = (Client.Core.Forms.Controls.Address)cityComboBox.Tag; if (addressControl == null) { return; } Boolean valueChanged = (cityComboBox.SelectedValue.ToString() != addressControl.City); valueChanged = ((valueChanged) && (addressControl.EnabledAndNotReadOnly)); if (valueChanged) { addressControl.City = cityComboBox.SelectedValue.ToString(); addressControl.AddressId = 0; cityComboBox.SetBinding(Telerik.Windows.Controls.RadComboBox.SelectedValueProperty, renderEngine.PropertyDataBinding("City", addressControl, System.Windows.Data.BindingMode.OneWay)); if ((addressControl.HasEventHandler("AddressChanged")) || (addressControl.HasDependencyDataBinding)) { FormServerProcessing_ControlPanelDisable(addressControl, Mercury.Client.Core.Forms.ServerProcessRequestType.ValueChanged); form.ValueChanged(addressControl, FormServerProcessCompleted); } } return; }