or
radProgressBar2.Maximum = 1500;
for (var i = 1; i < 1500; i++)
{
var p = i;
radProgressBar2.Value1 = p;
Thread.Sleep((int)numericUpDown1.Value);
}
radProgressBar2.Value1 = 0;
radProgressBar2.Text = "Task Completed!";
radProgressBar1.Maximum = 1500;
for (var i = 1; i <
1500
; i++)
{
var
p
=
i
;
radProgressBar1.SafeInvoke(() => radProgressBar1.Value1 = p, false);
Thread.Sleep((int) numericUpDown1.Value);
}
In my properties window I see two GridViewTemplates:
GridViewTemplate2 is not associated with either RadGridView controlsI have on the page. Is there a way to delete this orphaned GridViewTemplate without going into the designer.vb code (I only do that as a last resort)?
Thanks.
public class CustomDropDownListEditor : RadDropDownListEditor
{
protected override RadElement CreateEditorElement()
{
return new CustomDropDownListEditorElement();
}
}
public class CustomDropDownListEditorElement : RadDropDownListEditorElement
{
protected override RadPopupControlBase CreatePopupForm()
{
this.Popup = new CustomDropDownPopupForm(this);
this.Popup.VerticalAlignmentCorrectionMode = AlignmentCorrectionMode.SnapToOuterEdges;
this.Popup.SizingMode = this.DropDownSizingMode;
this.Popup.Height = this.DropDownHeight;
this.Popup.HorizontalAlignmentCorrectionMode = AlignmentCorrectionMode.Smooth;
this.Popup.RightToLeft = this.RightToLeft ? System.Windows.Forms.RightToLeft.Yes : System.Windows.Forms.RightToLeft.Inherit;
this.WirePopupFormEvents(this.Popup);
return Popup;
}
}
public class CustomDropDownPopupForm : DropDownPopupForm
{
public CustomDropDownPopupForm(RadDropDownListElement owner): base(owner) {}
public override string ThemeClassName
{
get { return typeof(DropDownPopupForm).FullName; }
set {}
}
public override void ClosePopup(PopupCloseInfo info)
{
base.ClosePopup(info);
if (info.CloseReason == RadPopupCloseReason.Keyboard)
{
((RadGridView)this.OwnerElement.ElementTree.Control).EndEdit();
}
}
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
((RadGridView)this.OwnerElement.ElementTree.Control).EndEdit();
}
}
You should handle the EditorRequired event to replace the editor:
void radGridView1_EditorRequired(object sender, EditorRequiredEventArgs e)
{
if (e.EditorType == typeof(RadDropDownListEditor))
{
e.EditorType = typeof(CustomDropDownListEditor);
}
}
For those who might want to use this, I have created a quick sample on how to use linq to create dynamic series for chartview:
Example is created in VS2010 / VB.NET
Make sure you import:
System.Data.DataSetExtensions.dll
to use linq.
Me
.RadChartView1.ShowLegend =
True
Me
.RadChartView1.ShowTitle =
True
Me
.RadChartView1.Title =
"Sold products per country"
Dim
graphSeries
As
New
DataTable()
graphSeries.Columns.Add(
"Category"
,
GetType
(
String
))
graphSeries.Columns.Add(
"Value"
,
GetType
(
Integer
))
graphSeries.Columns.Add(
"XValue"
,
GetType
(
String
))
graphSeries.Rows.Add(
"Netherlands"
, 10,
"2011"
)
graphSeries.Rows.Add(
"USA"
, 12,
"2011"
)
graphSeries.Rows.Add(
"Germany"
, 7,
"2011"
)
graphSeries.Rows.Add(
"Netherlands"
, 25,
"2012"
)
graphSeries.Rows.Add(
"USA"
, 40,
"2012"
)
graphSeries.Rows.Add(
"Germany"
, 25,
"2012"
)
Dim
productGroups = From p
In
graphSeries _
Group p By Category = p.Field(Of
String
)(
"Category"
) Into Group _
Select
Category, ProductGroup = Group
For
Each
g
In
productGroups
Dim
barSeries
As
New
Telerik.WinControls.UI.BarSeries(
"Value"
,
"Category"
)
barSeries.Name = g.Category
barSeries.ValueMember =
"Value"
barSeries.CategoryMember =
"XValue"
barSeries.ShowLabels =
True
barSeries.LegendTitle = g.Category
Me
.RadChartView1.Series.Add(barSeries)
barSeries.CombineMode = Telerik.Charting.ChartSeriesCombineMode.Stack
barSeries.DataSource = g.ProductGroup.CopyToDataTable
Next