or
| namespace LTD.Desktop.Common |
| { |
| public class RadPaneGroupRegionAdapter : RegionAdapterBase<RadPaneGroup> |
| { |
| public RadPaneGroupRegionAdapter(IRegionBehaviorFactory regionBehaviorFactory) |
| : base(regionBehaviorFactory) |
| { |
| } |
| protected override void Adapt(IRegion region, RadPaneGroup regionTarget) |
| { |
| region.Views.CollectionChanged += (s, e) => |
| { |
| switch (e.Action) |
| { |
| case NotifyCollectionChangedAction.Add: |
| foreach (var item in e.NewItems.OfType<RadPane>()) |
| { |
| regionTarget.AddItem(item, Telerik.Windows.Controls.Docking.DockPosition.Center); |
| } |
| break; |
| case NotifyCollectionChangedAction.Remove: |
| foreach (var item in e.OldItems.OfType<RadPane>()) |
| { |
| item.RemoveFromParent(); |
| } |
| break; |
| case NotifyCollectionChangedAction.Replace: |
| { |
| var oldItems = e.OldItems.OfType<RadPane>(); |
| var newItems = e.NewItems.OfType<RadPane>(); |
| var newItemsEnumerator = newItems.GetEnumerator(); |
| foreach (var oldItem in oldItems) |
| { |
| var parent = oldItem.Parent as ItemsControl; |
| if (parent != null && parent.Items.Contains(oldItem)) |
| { |
| parent.Items[parent.Items.IndexOf(oldItem)] = newItemsEnumerator.Current; |
| if (!newItemsEnumerator.MoveNext()) |
| { |
| break; |
| } |
| } |
| else |
| { |
| oldItem.RemoveFromParent(); |
| regionTarget.Items.Add(newItemsEnumerator.Current); |
| } |
| } |
| } |
| break; |
| case NotifyCollectionChangedAction.Reset: |
| regionTarget |
| .EnumeratePanes() |
| .ToList() |
| .ForEach(p => p.RemoveFromParent()); |
| break; |
| default: |
| break; |
| } |
| }; |
| foreach (var view in region.Views.OfType<RadPane>()) |
| { |
| regionTarget.Items.Add(view); |
| } |
| } |
| protected override IRegion CreateRegion() |
| { |
| return new AllActiveRegion(); |
| } |
| } |
| } |
| namespace LTD.Examples.Modularity.Views |
| { |
| /// <summary> |
| /// Interaction logic for ExampleView.xaml |
| /// </summary> |
| public partial class ExampleView : RadDocumentPane |
| { |
| public ExampleView() |
| { |
| InitializeComponent(); |
| } |
| } |
| } |
| <telerik:RadDocumentPane x:Class="LTD.Examples.Modularity.Views.ExampleView" |
| xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" |
| xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" |
| xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" |
| Header="Example panel"/> |
| <!-- Workspaces container --> |
| <telerik:RadDocking Name="Workspaces" DockPanel.Dock="Bottom" cal:RegionManager.RegionName="Workspaces"> |
| <telerik:RadDocking.DocumentHost> |
| <telerik:RadSplitContainer> |
| <telerik:RadPaneGroup cal:RegionManager.RegionName="MainRegion" /> |
| </telerik:RadSplitContainer> |
| </telerik:RadDocking.DocumentHost> |
| </telerik:RadDocking> |
For some strange reason, the gridview edit mode for a column that is string binded, accepts only numeric values. What could be wrong
| <telerik:RadGridView Name="rgvSiteDetails" Margin="10,10,10,10" Height="340" RowIndicatorVisibility="Collapsed" |
| ShowGroupPanel="False" AutoGenerateColumns="False" Visibility="Visible" Background="Transparent" |
| AutoGenerateHierarchyFromDataSet="False" BorderBrush="LightGray" CanUserFreezeColumns="False" CanUserInsertRows="False" |
| HorizontalContentAlignment="Stretch" ShowColumnHeaders="True" IsFilteringAllowed="False" |
| VerticalGridlinesBrush="LightGray" > |
| <telerik:RadGridView.Columns> |
| <telerik:GridViewDataColumn UniqueName="IsSelected" DataMemberBinding="{Binding IsSelected}" Header="" Width="30" /> |
| <telerik:GridViewDataColumn UniqueName="SiteSequence" Header="" Width="30" DataMemberBinding="{Binding SiteSequence}" /> |
| <telerik:GridViewDataColumn UniqueName="SiteName" Header="SiteName" DataMemberBinding="{Binding SiteName}" Width="120" /> |
| <telerik:GridViewDataColumn UniqueName="SiteShortName" Header="SiteShortName" DataMemberBinding="{Binding SiteShortName}" Width="120"/> |
| <telerik:GridViewDataColumn IsReadOnly="True" UniqueName="ReceivedDate" IsVisible="True" Header="Received Date" Width="80" DataMemberBinding="{Binding ReceivedDate}" /> |
| <telerik:GridViewDataColumn IsReadOnly="True" UniqueName="PatientLastName" Header="Patient Last Name" IsVisible="True" Width="120" DataMemberBinding="{Binding PatientLastName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcCassetteId" UniqueName="CassetteID" IsVisible="False" Header="Cassette Id" Width="80" DataMemberBinding="{Binding CassetteID}" /> |
| <telerik:GridViewDataColumn x:Name="gdcSlideId" UniqueName="DisplayName" Header="Display Name" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcDisplayName" UniqueName="DisplayName" Header="Display Name" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcProcedureName" UniqueName="ProcedureName" Header="Procedure Name" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcLevelInfo" UniqueName="LevelInfo" Header="Level Info" IsVisible="False" DataMemberBinding="{Binding DisplayName}" /> |
| <telerik:GridViewDataColumn x:Name="gdcmagazineid" UniqueName="magazineid" IsVisible="False" Header="Magazine Id" DataMemberBinding="{Binding magazineid}" /> |
| <telerik:GridViewDataColumn x:Name="gdcbin" UniqueName="bin" Header="Exit Bin" IsVisible="False" DataMemberBinding="{Binding bin}" /> |
| </telerik:RadGridView.Columns> |
| </telerik:RadGridView> |
| private void rgvSiteDetails_CurrentCellChanged(object sender, GridViewCurrentCellChangedEventArgs e) |
| { |
| this.rgvSiteDetails.BeginEdit(); |
| } |
| SharedData.lstSelectedCaseData = new ObservableCollection<SharedData.SelectedCaseData>(); |
| rgvSiteDetails.DataLoaded += new EventHandler<EventArgs>(rgvSiteDetails_DataLoaded); |
| foreach (CaseDataCase item in SharedData.objCurrent.Items) |
| { |
| if (item.Specimen != null) |
| foreach (CaseDataCaseSpecimen item2 in item.Specimen) |
| { |
| SharedData.SelectedCaseData a = new SharedData.SelectedCaseData(); |
| a.CaseId = item.CaseId; |
| a.AccessionNumber = item.AccessionNumber; |
| a.ReceivedDate = item.ReceivedDate; |
| a.PatientLastName = item.Patient[0].PatientLastName; |
| a.IsSelected = true; |
| a.SiteName = item2.SiteName; |
| a.SiteSequence = item2.SiteSequence; |
| a.SiteShortName = item2.SiteShortName; |
| a.SiteID = item2.SiteID; |
| SharedData.lstSelectedCaseData.Add(a); |
| } |
| } |
| rgvSiteDetails.ItemsSource = SharedData.lstSelectedCaseData; |
| void rgvSiteDetails_DataLoaded(object sender, EventArgs e) |
| { |
| try |
| { |
| SharedData.Log.Info("Entering rgvSiteDetails_DataLoaded"); |
| rgvSiteDetails.ExpandAllGroups(); |
| SharedData.Log.Info("Exiting rgvSiteDetails_DataLoaded"); |
| } |
| catch (Exception ex) |
| { |
| SharedMethods.HandleExceptions(ex); |
| } |
| } |