I have a button and I'd like it to look the same way as the title bar close button does.
How can I apply a specific style to a control?
The only thing I tried is to access theme information, but it is really complicated as there are multiple levels of nesting and derivation of settings etc. I think, that there should be easier way to do this.
var theme = Telerik.WinControls.ThemeResolutionService.GetTheme(TelerikSkinAdapter.GetThemeName("MySkin"));
foreach (var group in theme.StyleGroups)
foreach (var registration in group.Registrations)
System.Diagnostics.Debug.WriteLine($"{registration.ControlName} {registration.ControlType} {registration.ElementName} {registration.ElementType}");
hi,
I am currently having a radgridview with 3 columns in which the 3rd column is a chart type custom column. i have set a minimum width to it which leads to scroll bar on smaller displays. Now , if i scroll across a few times the data in the chart disappears.
Is there any event where i can write code to prevent from happening ? Code below updated
public RadForm1()
{
InitializeComponent();
this.radGridView1.Columns.Add("Column1");
this.radGridView1.Columns.Add("Column2");
ChartColumn customColumn = new ChartColumn("Chart column");
this.radGridView1.Columns.Add(customColumn);
this.radGridView1.AutoSizeColumnsMode = GridViewAutoSizeColumnsMode.Fill;
for (int i = 0; i < 10; i++)
{
this.radGridView1.Rows.Add(i, i, i);
}
this.radGridView1.TableElement.RowHeight = 200;
this.radGridView1.AllowAddNewRow = false;
}
public class ChartCell : GridDataCellElement
{
public ChartCell(GridViewColumn column, GridRowElement row) : base(column, row)
{
}
RadChartElement chart = new RadChartElement();
protected override void CreateChildElements()
{
base.CreateChildElements();
LoadBarChart();
this.Children.Add(chart);
}
private void LoadBarChart()
{
chart.View.AreaType = ChartAreaType.Cartesian;
chart.AngleTransform = 90;
RangeBarSeries rangeBarSeries = new RangeBarSeries("End Time", "Start Time", "Summarization Date");
rangeBarSeries.DataPoints.Add(new RangeDataPoint(DateTime.Now.TimeOfDay.TotalMinutes + 14, DateTime.Now.TimeOfDay.TotalMinutes + 10, "6/8/2021"));
rangeBarSeries.DataPoints.Add(new RangeDataPoint(DateTime.Now.TimeOfDay.TotalMinutes + 7, DateTime.Now.TimeOfDay.TotalMinutes + 5, "6/8/2021"));
rangeBarSeries.DataPoints.Add(new RangeDataPoint(DateTime.Now.TimeOfDay.TotalMinutes + 4, DateTime.Now.TimeOfDay.TotalMinutes + 2, "6/8/2021"));
rangeBarSeries.DataPoints.Add(new RangeDataPoint(DateTime.Now.TimeOfDay.TotalMinutes + 30, DateTime.Now.TimeOfDay.TotalMinutes + 10, "6/7/2021"));
rangeBarSeries.DataPoints.Add(new RangeDataPoint(DateTime.Now.TimeOfDay.TotalMinutes + 7, DateTime.Now.TimeOfDay.TotalMinutes + 5, "6/7/2021"));
CategoricalAxis horizontalAxis = new CategoricalAxis();
//horizontalAxis.Title = "Summarization Days";
horizontalAxis.ClipLabels = false;
horizontalAxis.LabelRotationAngle = -90;
horizontalAxis.LabelFitMode = AxisLabelFitMode.Rotate;
horizontalAxis.PlotMode = AxisPlotMode.BetweenTicks;
rangeBarSeries.HorizontalAxis = horizontalAxis;
chart.View.Series.Add(rangeBarSeries);
rangeBarSeries.VerticalAxis.LabelFormatProvider = new MyFormatProvider();
//rangeBarSeries.VerticalAxis.Title = "Time of the day";
rangeBarSeries.VerticalAxis.ClipLabels = false;
rangeBarSeries.VerticalAxis.LabelRotationAngle = -45;
rangeBarSeries.VerticalAxis.LabelFitMode = AxisLabelFitMode.Rotate;
LinearAxis verticalAxis = chart.View.Axes.Get<LinearAxis>(1);
verticalAxis.Minimum = 0; //Minutes 0:00
verticalAxis.Maximum = 1380; //Minutes 23:00
verticalAxis.MajorStep = 60; //60 minutes in an hour
CartesianArea area = chart.View.GetArea<CartesianArea>();
area.ShowGrid = true;
CartesianGrid grid = area.GetGrid<CartesianGrid>();
grid.DrawVerticalStripes = true;
grid.DrawHorizontalStripes = false;
}
protected override void SetContentCore(object value)
{
base.SetContentCore(value);
//you can synchronize the chart data points according to the cell value if necessary
}
protected override Type ThemeEffectiveType
{
get
{
return typeof(GridDataCellElement);
}
}
public override bool IsCompatible(GridViewColumn data, object context)
{
return data is ChartColumn && context is GridDataRowElement;
}
}
public class ChartColumn : GridViewDataColumn
{
public ChartColumn(string fieldName) : base(fieldName)
{
}
public override Type GetCellType(GridViewRowInfo row)
{
if (row is GridViewDataRowInfo)
{
return typeof(ChartCell);
}
return base.GetCellType(row);
}
}
public class MyFormatProvider : IFormatProvider, ICustomFormatter
{
public object GetFormat(Type formatType)
{
return this;
}
public string Format(string format, object arg, IFormatProvider formatProvider)
{
int totalminutes = Convert.ToInt32(arg);
TimeSpan timeSpan = TimeSpan.FromMinutes(totalminutes);
return timeSpan.ToString(@"hh\:mm");
}
}
Hi ,
i have a radgridview with lengthy columns (actually 3 columns with the 3rd as minwidth 4000 which is a custom chart column) . So this comes up with scrolling effect if the monitor size is small . It seems that due to virtualization , the data in some rows (the 3rd column) disappears randomly on scroll. Any way to avoid that?
Guess disabling virtualization should do but any other idea is welcome
Hello,
I would like to know if it's possible to disable the video recording function in a radWebCam. I would like to use it to take snapshots only.
Thank you and have a nice day!
hi,
i want to use the radvirtualgrid to add a new row/record to a database but instead of using Tab button to switch between column i prefer to use the enter key.
is that possible, if yes can you give me a sample please ?
Thanks in advance
Hello all...
i have this code for clear radtextboxcontrol, how make this for radspineditor ?
Dim a, b As Control
For Each a In TableLayoutPanel2.Controls
If TypeOf a Is Telerik.WinControls.UI.RadTextBoxControl Then
a.Text = ""
End If
Next
For Each b In TableLayoutPanel2.Controls
If TypeOf b Is Telerik.WinControls.UI.RadSpinEditor Then
b.value = 0 <------ how make this happen
End If
Next
thanks...
Hi.
I have this:
GridViewSummaryItem Duracao = new GridViewSummaryItem();
Duracao.Name = "Duração";
Duracao.FormatString = "{0}";
Duracao.AggregateExpression = "(sum(T_H))";
sum(T_H) it's the sum of times in seconds. I need show the result in time format (hh:mm:ss)
How i can do it? help please.
i'm program in C#.
Thank you.
As the title suggest, how can I deselect currently selected row if it's previously selected? I have MultiSelect set to False. Ctrl + click doesn't work.
J
I have a RadAutoCompleteBox working as expected allowing user to type and pick an item from the list.
The token is then shown in the Textbox as expected.
Would like to have a way when they type again and pick another item, to then remove the 1st and only show the 2nd item.
Tried the radautocompletebox.Text = "" but received some error. It would be nice to have a property stating (Multiple Tokens (true/false).
Maybe there is a programmatically way to click the X in the token to remove it before adding the 2nd token?