Hi,
How to enable RangeFiltering in RadGridView ?
for example like => I have one RadGridView is there and in that one column is binded with Datatype DateTime.
I need to filter this column based on start date and end date.
How we can achieve this functionality in RadGridView.
At the moment if you only want to display the date you set the column to be string and you set x.Date.ToShortDateString() and that works perfectly for showing short dates but the sort then breaks because the values are "strings"
for example it'll recognize 10/1/2015 > 1/2/2015 If the universal time setting on the machine is set to DD/MM/YYYY.
Are there ways to display short date string and retain the filters to work correct?
Hi,
Is there a way to disable or make time unselectable in the Calendar's time pop window.
My requirement is I have RadDateTimePicker control for From and To dates. When I select From date & time, the selectable date & time in To date-time control should be the value greater than or equal to From date-time value.
Currently I have achieved it partially using SelectableDateStart property. Using this property I can control only dates but not time.
For example,
I select From date & time as 15-07-2015, 11:30 respectively. Now in the To date-time control the selectable dates are 15-07-2015 and above. It won't allow the user to select date preceding 15-07-2015.
But the Time preceding 11:30 should be made unselectable which I am unable to achieve.
Can you please help me with this.
I am new to this forum and to WPF development. I'm sorry If I missed out some standard of creating new thread in the forum.
Thanks in advance.
Best Regards,
Shoukat
I'm adding two dynamic series to a chart, one LineSeries and one PointSeries
For the LineSeries i leave all the styling as default, and I tried using the standards Palettes (Windows8 in this case). When I have more than one series, everything's ok. However, when I only have 1 series shown on the grid, then the LineSeries somehow skips the first color and shows the second one.
I tried reproducing the problem using a custom palette just to see if I was doing something wrong, but the behavior is the same (first color skipped when only 1 series). What's going on?
chart definition:
<
telerik:RadCartesianChart
Grid.Row
=
"0"
Height
=
"Auto"
Name
=
"ChartControl"
BorderThickness
=
"0"
Background
=
"Transparent"
Palette
=
"Windows8"
DataContextChanged
=
"OnChartSeriesUpdated"
>
<
telerik:RadCartesianChart.Annotations
>
<
telerik:CartesianGridLineAnnotation
ZIndex
=
"-200"
Value
=
"7"
Stroke
=
"Black"
StrokeThickness
=
"2.5"
Axis
=
"{Binding ElementName=VerticalAxis}"
/>
<
telerik:CartesianGridLineAnnotation
ZIndex
=
"-2100"
Value
=
"4"
Stroke
=
"Black"
StrokeThickness
=
"1.5"
Axis
=
"{Binding ElementName=VerticalAxis}"
/>
<
telerik:CartesianGridLineAnnotation
ZIndex
=
"-2100"
Value
=
"1"
Stroke
=
"Black"
StrokeThickness
=
"3.5"
Axis
=
"{Binding ElementName=VerticalAxis}"
/>
<
telerik:CartesianPlotBandAnnotation
ZIndex
=
"-200"
From
=
"0"
To
=
"1"
Fill
=
"Coral"
Axis
=
"{Binding ElementName=VerticalAxis}"
/>
<
telerik:CartesianPlotBandAnnotation
ZIndex
=
"-200"
From
=
"7"
To
=
"8"
Fill
=
"Coral"
Axis
=
"{Binding ElementName=VerticalAxis}"
/>
</
telerik:RadCartesianChart.Annotations
>
<
telerik:RadCartesianChart.SeriesProvider
>
<
telerik:ChartSeriesProvider
Source
=
"{Binding }"
>
<
telerik:ChartSeriesProvider.SeriesDescriptors
>
<
telerik:CategoricalSeriesDescriptor
ItemsSourcePath
=
"ResultDataPoints"
CategoryPath
=
"MeasurementTimestamp"
ValuePath
=
"Value"
Style
=
"{StaticResource PointSeriesStyle}"
/>
<
telerik:CategoricalSeriesDescriptor
ItemsSourcePath
=
"ResultDataPoints"
CategoryPath
=
"MeasurementTimestamp"
ValuePath
=
"Value"
Style
=
"{StaticResource LineSeriesStyle}"
/>
</
telerik:ChartSeriesProvider.SeriesDescriptors
>
</
telerik:ChartSeriesProvider
>
</
telerik:RadCartesianChart.SeriesProvider
>
<
telerik:RadCartesianChart.HorizontalAxis
>
<!--date and time points are skipped when points are too close together-->
<
telerik:DateTimeContinuousAxis
LabelTemplateSelector
=
"{StaticResource HorizontalLabelTemplateSelector}"
Name
=
"HorizontalAxis"
MaxHeight
=
"8"
MinHeight
=
"0"
LabelFitMode
=
"MultiLine"
LabelFormat
=
"H:mm"
LabelInterval
=
"3"
LastLabelVisibility
=
"Visible"
MajorTickLength
=
"3"
/>
</
telerik:RadCartesianChart.HorizontalAxis
>
<
telerik:RadCartesianChart.VerticalAxis
>
<
telerik:LinearAxis
LabelTemplateSelector
=
"{StaticResource VerticalLabelTemplateSelector}"
Name
=
"VerticalAxis"
Maximum
=
"8"
Minimum
=
"0"
>
<
telerik:LinearAxis.LabelTemplate
>
<
DataTemplate
>
<
TextBlock
Text
=
"{Binding Converter={StaticResource TargetLabelFormatConverter}}"
/>
</
DataTemplate
>
</
telerik:LinearAxis.LabelTemplate
>
</
telerik:LinearAxis
>
</
telerik:RadCartesianChart.VerticalAxis
>
</
telerik:RadCartesianChart
>
style definitions:
<
Style
x:Key
=
"PointSeriesStyle"
TargetType
=
"telerik:PointSeries"
>
<
Setter
Property
=
"LegendSettings"
Value
=
"{Binding Converter={StaticResource LegendElementConverter}}"
/>
<
Setter
Property
=
"PointTemplateSelector"
Value
=
"{StaticResource LevyJennigsPointTemplateSelector}"
></
Setter
>
<
Setter
Property
=
"AllowSelect"
Value
=
"True"
></
Setter
>
</
Style
>
<
Style
x:Key
=
"LineSeriesStyle"
TargetType
=
"telerikChart:LineSeries"
/>
several series (points and lines colors match, legend proves it) see "several series.png"
one serie (line series skips first color) see "one serie.png"
Thanks a lot for your help in advance.
I am doing this in Caliburn Micro:
The view that host the Content Control:
<
Controls:TransitioningContentControl
Grid.Row
=
" Grid.Column="
x:Name
=
"ActiveItem"
/>
Test code in the view model - basically a timer that will assign TestSiteCollection[0] & TestSiteCollection[1] to ActiveItem repeatedly.
private void tmrMemTest_Tick(object sender, EventArgs e)
{
if (isAddLimit)
{
ActiveItem = TestSiteCollection[1];
isAddLimit = false;
}
else
{
ActiveItem = TestSiteCollection[0];
isAddLimit = true;
GC.Collect(GC.MaxGeneration, GCCollectionMode.Forced); // to see whether we have a leak or not.
}
}
One of the TestSiteCollection elements is the RadDocking & its view look likes this.
<
telerik:RadDocking
Grid.Row
=
" HasDocumentHost="
PanesSource
=
"{Binding TestPanelCollection, Mode=OneWay}"
>
<telerik:RadDocking.DockingPanesFactory>
<styles:CustomDockingPanesFactory/>
</telerik:RadDocking.DockingPanesFactory>
<telerik:RadSplitContainer InitialPosition="DockedLeft">
<telerik:RadPaneGroup x:Name="leftGroup" telerik:RadDocking.SerializationTag="leftGroup"/>
</telerik:RadSplitContainer>
<telerik:RadSplitContainer InitialPosition="DockedRight">
<telerik:RadPaneGroup x:Name="rightGroup" telerik:RadDocking.SerializationTag="rightGroup"/>
</telerik:RadSplitContainer>
<telerik:RadSplitContainer InitialPosition="DockedTop">
<telerik:RadPaneGroup x:Name="topGroup" telerik:RadDocking.SerializationTag="topGroup"/>
</telerik:RadSplitContainer>
<telerik:RadSplitContainer InitialPosition="DockedBottom">
<telerik:RadPaneGroup x:Name="bottomGroup" telerik:RadDocking.SerializationTag="bottomGroup"/>
</telerik:RadSplitContainer>
</telerik:RadDocking>
CustomDockingPanesFactory:
protected override RadPane CreatePaneForItem(object item)
{
var viewModel = item as TestPanelBase;
if (viewModel != null)
{
var pane = viewModel.IsDocument ? new RadDocumentPane() : new RadPane();
pane.DataContext = item;
pane.Header = viewModel.Header;
// When saving the layout, RadDocking control generates an xml schema for its elements and their position,
// size and other properties.
// We need to set a SerializationTag for each Pane. Otherwise, each time when loading,
// a new Pane will be generated and we will lose the DataContext, which is not desirable.
RadDocking.SetSerializationTag(pane, viewModel.Header);
if (viewModel.ContentType != null)
{
pane.Content = Activator.CreateInstance(viewModel.ContentType);
}
return pane;
}
return base.CreatePaneForItem(item);
}
protected override void RemovePane(RadPane pane)
{
// A problem could exist if you hold a reference to the old content or it was declared in XAML.
// There is one memory leak in the Docking control we are aware of -
// if you are removing the whole pane and it was the last one in the group,
// it is not destroyed before you add another pane in this group
pane.ClearValue(RadDocking.SerializationTagProperty);
// Removes the Pane from the RadDocking layout. By default clears the Header, Content, DataContext and call RemoveFromParent method.
base.RemovePane(pane);
}
What i have observed is that every time ActiveItem is assigned, CreatePaneForItem() is called. I am suspecting that is the cause of the memory leak.
What can i do to prevent this multiple call to CreatePaneForItem()?
p/s: i have cleaned up other misbehaving codes that have contributed to the memory leak & i am now stuck at this observation.
Hello
I need to add button to selected date time now.
How can I do this without override the default style of the date time picker?
Best regards
Ehud
I have a Telerik report which includes text boxes, an HTML text box and a picture box. I am trying to save the report as a docx file and then open it in the RadRichTextBox in a WPF project. The report renders correctly as a docx file with the image and the content from the HTML text box but when that docx file is opened in the RadRichTextBox, both the image and the HTML text box content are missing.
In the attached files, the Header text "Endorsement 1" and the signature are the two items that are not showing in the RadRichTextBox.