We have upgraded our Telerik control Toolkit from 2011.3.1116.40 to 2016.1.217.45 and have found many issues to take care manually in order to satisfy our UI requirement so user will not experience any difference with this upgrade in our system. So far we were able to resolve other issue except the one that I have mentioned below. That is our primary concern as of now and need to resolve ASAP. Please advice or provide any information that will speed up our work.
Here is the
issue.
With Telerik
version 2011.3.1116.40 our
grid control will have validation error and message if input is mandatory like
this and that is what our expected behavior :
refer the attachment : 2011_telerik.png
But with Telerik 2016.1.217.45, we have lost this functionality. see below :refer the attachment
refer the attachment : 2016_telerik.png
More Inf
1. we are implementing the validation through the IDataErrorInfo and INotifyDataErrorInfo .
2. using text boxes inside the gridview.
3. applying the validations on some cell's in the row ,
4. didn't understand why pink color is showing in the background. we didn't want this.
.5. we want red highlight border color for this validation.
Hi,
I have three choices for one of the property and I am showing them in combobox.Once user changes the choices we will take confirmation from user if he says no I have to retain the old value and show in the combo the selected value as oldvalue.But here I am not changing the value of model property but combobox value changing to new value.How to stop it??
For Example:
Property Name :Transportation
Property Values : Enum vehicles
{
Bus,
Car,
Walk
}
Hi ,
In our project we used to use Winform PropertyGrid and for some Properties we used TypeConverter to show list of values in comboboxes.
Now as telerik not supporting complete TypeConverter and sending null value in ITypeDescriptionContext,I can't use it in RadPropertyGrid.
So I thought of Binding List<string> properties to the property as combo and store selectedvalue in another Property once user Select a value in PropertyGrid.
But When I try to bind List<string> Property it is showing it as CollectionEditor but I want to show it as Combobox and once user select I want to store in on another Property so that I can use it further.
And I will get the List dynamically ,so I can't change the type to Enum.
I have tried to create Combobox Template and Combobox userControl I am not able to understand how to pass ItemSource to this usercontrol or template.
I can't create ten templates for each Property.I have to reuse the same template.
So please suggest something that is feasible as early as Possible.
I have attached two image files. I Want Company,employees,Designations,similar to Countries.
I have created Sample Application but not able to attach here.
We would like to disable the Undo feature of the underlying TextBox in the RadNumericUpDown control.
It interferes with our global Ctrl+Z undo command when the RadNumericUpDown is keyboard focused.
Thanks.
I have problem with using DragAndDropManager for Telerik version 2012.1.326.40. Recently I find out that one of my old projects has problem with drag end drop with some list boxes. It was using RadDragAndDropManager to handle drag and drop. So I switched to DragAndDropManager. However in 2012.1.326 version of controls there is no DragDropPayloadManager. All examples are using this class to pass data so my question is can I implement DragAndDropManager in this version of controls and how to replace DragDropPayloadManager.
Hello. I try to set ChartAnnotationLabelDefinition.Template in the way where the label of annotation has red color. But I havn't got the required result yet. I wrote the following XAML markup:
<
telerik:RadCartesianChart
Visibility
=
"{Binding IsAbsoluteBarChartVisible}"
>
<!--The definition of an annotation line-->
<
telerik:RadCartesianChart.Annotations
>
<
telerik:CartesianGridLineAnnotation
Axis
=
"{Binding ElementName=verticalAxis}"
Value
=
"{Binding AnnotationValue}"
Label
=
"{Binding AnnotationLabel}"
Stroke
=
"Red"
StrokeThickness
=
"2"
DashArray
=
"8 2"
>
<
telerik:CartesianGridLineAnnotation.LabelDefinition
>
<
telerik:ChartAnnotationLabelDefinition
Location
=
"Inside"
VerticalAlignment
=
"Bottom"
HorizontalAlignment
=
"Center"
>
<!--HERE IS THE TEMPLATE DEFINITION-->
<
telerik:ChartAnnotationLabelDefinition.Template
>
<
DataTemplate
>
<
TextBlock
Foreground
=
"Red"
FontWeight
=
"DemiBold"
/>
</
DataTemplate
>
</
telerik:ChartAnnotationLabelDefinition.Template
>
</
telerik:ChartAnnotationLabelDefinition
>
</
telerik:CartesianGridLineAnnotation.LabelDefinition
>
</
telerik:CartesianGridLineAnnotation
>
</
telerik:RadCartesianChart.Annotations
>
<!-- X axis-->
<
telerik:RadCartesianChart.HorizontalAxis
>
<
telerik:CategoricalAxis
/>
</
telerik:RadCartesianChart.HorizontalAxis
>
<!-- Y axis-->
<
telerik:RadCartesianChart.VerticalAxis
>
<
telerik:LinearAxis
x:Name
=
"verticalAxis"
Title
=
"Đ”ĐµÑ†Đ¸Đ±ĐµĐ»Ñ‹ [Дб]"
Minimum
=
"{Binding ChartMinimum}"
Maximum
=
"{Binding ChartMaximum}"
MajorStep
=
"{Binding CurrentStep}"
/>
</
telerik:RadCartesianChart.VerticalAxis
>
<!--The chart itself-->
<
telerik:RadCartesianChart.Series
>
<
telerik:BarSeries
ShowLabels
=
"True"
CategoryBinding
=
"Category"
ValueBinding
=
"Value"
ItemsSource
=
"{Binding Data}"
/>
</
telerik:RadCartesianChart.Series
>
</
telerik:RadCartesianChart
>
But when I run my application and navigate to the View where charts are displayed then I see only annotation without label (please see 'AnnotationWithoutLabels.PNG' file attached). When I comment the following part of XAML markup
<
telerik:ChartAnnotationLabelDefinition.Template
>
<
DataTemplate
>
<
TextBlock
Foreground
=
"Red"
FontWeight
=
"DemiBold"
/>
</
DataTemplate
>
</
telerik:ChartAnnotationLabelDefinition.Template
>
then I see annotation with black colored label (please see 'AnnotationWithBlackColoredLabel.PNG' file attached). How do I get a bright red color for the annotation label?
If you find yourself binding your RadGridView to objects that are dynamically generated by Castle's DictionaryAdapter.
You might be surprised by the expressions that are generated by the ExpressionEditor involve a mysterious CastleDictionaryAdapterType like
Expression {Expression<System.Func<CastleDictionaryAdapterType,
bool
>>}
when you were expecting it to be:
Expression {Expression<System.Func<IDataRecord,
bool
>>}
where IDataRecord is the interface your run-time instances are generated from by DictionaryAdapter
Despite the fact that CastleDictionaryAdapterType implements your IDataRecord (and a bunch of other things) you won't be able to directly cast between them as your FilterDescriptor requires
The solution is to re-write the expression that ExpressionEditor.Expression property gives you. Here's a simple expression visitor that does that:
public
class
CastleDictionaryAdapterTypeVisitor<TInput> : ExpressionVisitor
{
private
ReadOnlyCollection<ParameterExpression> _parameters;
private
ParameterExpression _parameter;
public
Expression Modify(Expression expression_)
{
return
Visit(expression_);
}
#region Overrides of ExpressionVisitor
protected
override
Expression VisitParameter(ParameterExpression node_)
{
return
_parameter ?? (_parameter = Expression.Parameter(
typeof
(TInput), node_.Name));
}
protected
override
Expression VisitLambda<T>(Expression<T> node_)
{
_parameters = VisitAndConvert(node_.Parameters, node_.Name);
return
Expression.Lambda(Visit(node_.Body), _parameters);
}
protected
override
Expression VisitMember(MemberExpression node_)
{
return
node_.Member.DeclaringType?.ToString() ==
"CastleDictionaryAdapterType"
? Expression.Property(Visit(node_.Expression), node_.Member.Name) :
base
.VisitMember(node_);
}
#endregion
}
You can use it like this (I've modified the ExpressionEditor filtering RadGridView Telerik sample)
private
void
ExpressionEditor_OnExpressionChanged(
object
sender_, RadRoutedEventArgs e_)
{
if
(
this
.ExpressionEditor.Expression !=
null
&&
this
.ExpressionEditor.Expression.GetType().ToString().Contains(
"CastleDictionaryAdapterType"
))
{
var visitor =
new
CastleDictionaryAdapterTypeVisitor<ITestDataRecord>();
var convertedExpression = visitor.Modify(ExpressionEditor.Expression)
as
Expression<Func<ITestDataRecord,
bool
>>;
if
(convertedExpression !=
null
)
this
._genericFilterDescriptor.FilteringExpression = convertedExpression;
if
(!
this
.RadGridView.FilterDescriptors.Contains(
this
._genericFilterDescriptor))
this
.RadGridView.FilterDescriptors.Add(
this
._genericFilterDescriptor);
this
.errorMessageBlock.Visibility = Visibility.Collapsed;
}
else
if
(
this
.ExpressionEditor.Expression ==
null
)
{
if
(
this
.RadGridView.FilterDescriptors.Contains(
this
._genericFilterDescriptor))
this
.RadGridView.FilterDescriptors.Remove(
this
._genericFilterDescriptor);
this
.errorMessageBlock.Visibility = Visibility.Collapsed;
}
else
{
this
.errorMessageBlock.Visibility = Visibility.Visible;
}
}
What is needed here is to provide a way to signal to the ExpressionEditor the specific type/interface to use, as opposed to letting the control figure it out from its Item property.
I have a read-only List<string> property in my business object.
How do I make it show up in the property grid. Do I need to create a custom editor?
Thanks!