Telerik Forums
UI for WPF Forum
0 answers
153 views

Hi

I have a DataGrid where the XAML is:

                            <telerik:RadGridView Grid.Column="2" 
                                                 NewRowPosition="Bottom"
                                                 GroupRenderMode="Flat"
                                                 ShowGroupPanel="False"
                                                 AutoGenerateColumns="False"
                                                 SelectedItem="{Binding SelectedDevice.SelectedDataConfiguration, Mode=TwoWay}"
                                                 ItemsSource="{Binding SelectedDevice.DataConfiguration}"
                                                 IsSynchronizedWithCurrentItem="True"
                                                 x:Name="DataConfigurationGrid"
                                                 Margin="2">
                                <telerik:RadGridView.Columns>
                                    <telerik:GridViewComboBoxColumn Header="Data page" DataMemberBinding="{Binding MethodId, Mode=TwoWay}" ItemsSourceBinding="{Binding DataContext.DataDefinitions, RelativeSource={RelativeSource FindAncestor, AncestorType={x:Type local:SatelliteManager}}}" DisplayMemberPath="Name"/>
                                    <telerik:GridViewComboBoxColumn Header="Class" DataMemberBinding="{Binding ClassId, Mode=TwoWay}" ItemsSource="{Binding SelectedDevice.SelectedTournament.Classes}" IsReadOnly="{Binding SelectedDevice.SelectedDataConfiguration.MethodId.CanFilterClass, Converter={StaticResource InvertedBooleanConverter}}" IsEnabled="{Binding SelectedDevice.SelectedDataConfiguration.MethodId.CanFilterClass}" DisplayMemberPath="Name" SelectedValueMemberPath="Id"/>
                                    <telerik:GridViewComboBoxColumn Header="Group" 
                                                                    DataMemberBinding="{Binding GroupId, Mode=TwoWay}" 
                                                                    IsReadOnly="{Binding SelectedDevice.SelectedDataConfiguration.MethodId.CanFilterGroup, Converter={StaticResource InvertedBooleanConverter}}" 
                                                                    IsEnabled="{Binding SelectedDevice.SelectedDataConfiguration.MethodId.CanFilterGroup}" 
                                                                    DisplayMemberPath="DescriptiveName" 
                                                                    SelectedValueMemberPath="Id">
                                        <telerik:GridViewComboBoxColumn.ItemsSource>
                                            <MultiBinding>
                                                <MultiBinding.Converter>
                                                    <converters:GroupsByDivisionConverter/>
                                                </MultiBinding.Converter>
                                                <Binding Path="SelectedDevice.SelectedTournament.Groups"/>
                                                <Binding Path="SelectedDevice.SelectedDataConfiguration.ClassId"/>
                                            </MultiBinding>
                                        </telerik:GridViewComboBoxColumn.ItemsSource>
                                    </telerik:GridViewComboBoxColumn>
                                    <telerik:GridViewComboBoxColumn Header="Pitch" DataMemberBinding="{Binding PitchId, Mode=TwoWay}" ItemsSource="{Binding SelectedDevice.SelectedTournament.Pitches}" IsReadOnly="{Binding SelectedDevice.SelectedDataConfiguration.MethodId.CanFilterPitch, Converter={StaticResource InvertedBooleanConverter}}" IsEnabled="{Binding SelectedDevice.SelectedDataConfiguration.MethodId.CanFilterPitch}" DisplayMemberPath="Name" SelectedValueMemberPath="Id"/>
                                    <telerik:GridViewDataColumn Header="Duration">
                                        <telerik:GridViewDataColumn.CellTemplate>
                                            <DataTemplate>
                                                <telerik:RadNumericUpDown Minimum="1" Maximum="1000" IsInteger="True" Width="50" Margin="2" Value="{Binding Duration, Mode=TwoWay}"/>
                                            </DataTemplate>
                                        </telerik:GridViewDataColumn.CellTemplate>
                                    </telerik:GridViewDataColumn>
                                </telerik:RadGridView.Columns>
                            </telerik:RadGridView>

 

I have a Wrapper class I use for the itemssource for the comboboxes:

    public class TournamentSatelliteWrapper
    {
        public TournamentInfo Tournament { get; set; }
        public List<ClassInfo> Classes { get; set; }
        public List<GroupInfo> Groups { get; set; }
        public List<PitchInfo> Pitches { get; set; }
    }

Now, when I select a method where I can filter by division and group, these initial lists are filled correctly. But the list of groups are all groups..across divisions. So, when I select division (class), I have created a converter to alter the list of the groups:

    public class GroupsByDivisionConverter : IMultiValueConverter
    {
        public object Convert(object[] values, Type targetType, object parameter, CultureInfo culture)
        {
            Guid? classId = values[1] == DependencyProperty.UnsetValue ? null : values[1] as Guid?;

            if (values[0] is List<GroupInfo>)
            {
                List<GroupInfo> groups = (List<GroupInfo>)values[0];

                if (classId.HasValue)
                    groups = groups.Where(x => x.Class.Id == classId.Value).ToList();

                return groups;
            }

            // fallback
            return values[0];
        }

        public object[] ConvertBack(object value, Type[] targetTypes, object parameter, CultureInfo culture)
        {
            throw new NotImplementedException();
        }
    }

All this works fine... except that when I switch between the different rows, I only see the name of the selected group for the selected row. I can see the issue, I am just not sure how to get around this. 

I can understand that the itemssource list does not contain the referenced item of the selected group when looking at a row where a different division is selected.. when applying the converter... the resulting list is the source for all the cells (each row). How could I only alter the list for the selected row? and the other cells keep their altered lists accordingly to have the selected group name display correctly?

hhgm
Top achievements
Rank 1
Iron
Iron
Iron
 asked on 22 May 2022
1 answer
123 views

Hi,everyone,

I choose the MaterialTheme for my window and it works as expected after changing  my  MaterialPalette.Palette .  But after using the SplashScreen, the Palette  setting seems to have failed. 

And the Palette  didn‘t work in  SplashScreen either.

 What's wrong  with my steps?

Thank you for your help!

Martin Ivanov
Telerik team
 answered on 20 May 2022
0 answers
597 views

I am sure that I am missing something basic here, but I cant get this control to behave. I tried a number of different things to get the data in the ObservableCollection to show up in the gridview with no luck.

(Using .netcore 3.0 libs)

The gridview is bound to the following property in the xaml .

                <telerik:RadGridView
                        VerticalAlignment="Top" 
                        x:Name="ProdRecordsGridView"
                        Grid.ColumnSpan="3" 
                        Grid.Row="1" 
                        AutoGenerateColumns="false"
                        ItemsSource="{Binding ProductionRecords}"
                        Margin="5"
                        SelectedItem="{Binding SelectedProductionRecord}">
                    <telerik:RadGridView.Columns>
                        <telerik:GridViewDataColumn 
                            UniqueName="DatePartProduced"
                            DataMemberBinding="{Binding ProductionDate }"
                            IsFilterable="False"
                            DataFormatString="d"
                            EditTriggers="Default"
                            Header="ProdDate" />
                    </telerik:RadGridView.Columns>
                </telerik:RadGridView>

 

The ViewModel has the following Property

public ObservableCollection<ProductionRecordModel> ProductionRecords { get => _records; set => _records = value; } 

The grid control appears to be bound correctly to the ObserveableCollection, because setting a breakpoint on the ProductionRecordModel.ProductionDate getter, (the first column in the grid is bound to this property) is called for each element in the collection.  

There just does not appear to be any data in the gridview, I am stumped.

 

Any ideas what I am doing wrong here?

 

Thanks

-Sean

 

 

 

Sean
Top achievements
Rank 2
Iron
 asked on 19 May 2022
1 answer
177 views

How can I add Sorting to the DropDown GridView, so that when the User first opens the DropDown, the GridView is already sorted on one or more columns?

Martin Ivanov
Telerik team
 answered on 19 May 2022
1 answer
301 views

I have a panelbaritem that contains a grid. When the grid is expanded I get the scrollbar as expected. I am able to scroll up/down by dragging the scrollbar button up/down. However, I cannot use the mousewheel to scroll.

Is there any special setting to enable mouse wheel scrolling.

Just to make sure that it is not a problem with my project, I created a small test project and see the same behavior.

Stenly
Telerik team
 answered on 18 May 2022
1 answer
147 views

I was wondering if it would be possible to overlay an arrow on a task in a Radganttview.

I leave you an example photo of what I want to do.

Stenly
Telerik team
 answered on 18 May 2022
1 answer
197 views

Hi,

I have a question for the problem related radpane resources.

In my project, radpane contains content which has sometimes more than 300mb of RAM for each instance(composed of telerik controls, GroupView etc.), so I really need to dispose radpane resources.

 

I followed instructions after searching some references, and it said that I should call radpane.RemoveFromParent(); for it to be garbage collected.

However, it is not working. The resources still remains same after even afeter calling the method.

The problem arises when radpane content is user control with only managed resources, which to be collected by GC.

 

Here is my code.

<RadDock>

   <RadPaneGroup>

          new <radpane> is created each time..

   </RadPaneGroup>

</RadDock>

 

When radpane is closed...

RadDock.CloseEvent += RaiseRadpaneCloseEvent();

RaiseRadpaneCloseEvent(object sender, eventargs e)

{

                // small codes to call radpane.....

 

                // here is radPane code.

                if (radPane != null)
                {
                    radPane.RemoveFromParent();

                    radPane.Content = null;
                    radPane.Header = null;
                    radPane.DataContext = null;
                    radPane.IsActive = false;
                    radPane.IsEnabled = false;
                    radPane = null;
                }

                // this works fine. When the content is UserControl

                // only some control is Idisposable, put only when unmanaged resources exist inside control .

                MethodInfo method = this.userControl.GetType().GetMethod("Dispose");
                if (method == null) return;

                method.Invoke(this.userControl, null);

}

 

Hope to get an answer quickly. Thanks.

 

Martin Ivanov
Telerik team
 answered on 17 May 2022
1 answer
129 views

Hello,

I'm currently using a RadCartesianChart. I want to centre my HorizontalAxis which is a LinearAxis on my VerticalAxis.
I want to know if it's possible and how to do it? I've searched for a long time on this forum, but I didn't find any solution. I see an old subject with a conclusion that is impossible.

 

Thanks for your help. Tell me if you need some code or anything else.
Justin

Martin Ivanov
Telerik team
 answered on 17 May 2022
0 answers
129 views

If in AppointmentSource I have some Appointment that came from the server and the user edited it but didn't save the changes

and exited the window,

then when he opens the Schedule again he will see the Appointment where he dragged it even though he didn't save it.

I tried to find the one that moved by UniqeId and then delete it and return the previous Appointment

by UniqeId but it does not work,

because probably UniqeId changes every drag.

Do you have another solution for me?

Thanks for the helpers

 

For example:

This is coming from the server:

And after the user dragged it (or edited it):

 

Ohad
Top achievements
Rank 3
Bronze
Iron
Iron
 updated question on 16 May 2022
1 answer
143 views

Hi, I would like to help how to change these colors from yellow to my colors

Thanks for the helpers

Martin Ivanov
Telerik team
 answered on 16 May 2022
Narrow your results
Selected tags
Tags
GridView
General Discussions
Chart
RichTextBox
Docking
ScheduleView
ChartView
TreeView
Diagram
Map
ComboBox
TreeListView
Window
RibbonView and RibbonWindow
PropertyGrid
DragAndDrop
TabControl
TileView
Carousel
DataForm
PDFViewer
MaskedInput (Numeric, DateTime, Text, Currency)
AutoCompleteBox
DatePicker
Buttons
ListBox
GanttView
PivotGrid
Spreadsheet
Gauges
NumericUpDown
PanelBar
DateTimePicker
DataFilter
Menu
ContextMenu
TimeLine
Calendar
Installer and Visual Studio Extensions
ImageEditor
BusyIndicator
Expander
Slider
TileList
PersistenceFramework
DataPager
Styling
TimeBar
OutlookBar
TransitionControl
FileDialogs
Book
ToolBar
ColorPicker
TimePicker
MultiColumnComboBox
SyntaxEditor
VirtualGrid
Wizard
ExpressionEditor
NavigationView (Hamburger Menu)
WatermarkTextBox
DesktopAlert
BarCode
SpellChecker
DataServiceDataSource
EntityFrameworkDataSource
RadialMenu
ChartView3D
Data Virtualization
BreadCrumb
LayoutControl
ProgressBar
Sparkline
TabbedWindow
ToolTip
CloudUpload
ColorEditor
TreeMap and PivotMap
EntityFrameworkCoreDataSource (.Net Core)
HeatMap
Chat (Conversational UI)
VirtualizingWrapPanel
Calculator
NotifyIcon
TaskBoard
TimeSpanPicker
BulletGraph
Licensing
WebCam
CardView
DataBar
FilePathPicker
PasswordBox
SplashScreen
Callout
Rating
Accessibility
CollectionNavigator
Localization
AutoSuggestBox
Security
VirtualKeyboard
HighlightTextBlock
TouchManager
StepProgressBar
Badge
OfficeNavigationBar
ExpressionParser
CircularProgressBar
SvgImage
PipsPager
SlideView
AI Coding Assistant
+? more
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Top users last month
Cynthia
Top achievements
Rank 1
Iron
Toby
Top achievements
Rank 3
Iron
Iron
Iron
Danielle
Top achievements
Rank 1
Iron
Iron
Joel
Top achievements
Rank 3
Bronze
Bronze
Iron
yw
Top achievements
Rank 2
Iron
Iron
Iron
Want to show your ninja superpower to fellow developers?
Want to show your ninja superpower to fellow developers?