Using Telerik UI for WinForms 2019.1.117.40
Have a form with multiple controls including RadMultiColumnComboBox. Dropdownstyle is DropDownList. I see the RadMultiColumnComboBox receives focus when tabbing thru the controls, but it will not receive keyboard input initially. I can get it to receive keyboard input on subsequent times if I use the mouse to open the drop-down & close the drop-down 1st.
Sequence of actions:
1. tab thru controls to set focus on RadMultiColumnComboBox <---- keyboard input does not work
2. tab to another control
3. tab to RadMultiColumnComboBox <----- keyboard input still does not work
4. use mouse to click the drop-down arrow to open
5. use mouse to click arrow to close drop-down
6. use mouse to click on another control
7. tab thru controls to set focus on RadMultiColumnComboBox <---- keyboard input NOW works.
I have tried in code to open and close the drop-down and then tabbing to it, but keyboard input still does not work. Keyboard input only works after I have used the mouse one time to open & close the drop-down.
Is there a way to get the keyboard input to work every time?


I found this code on telerik resource site. This function return value of LinearAxis,
Private Function GetVerticalAxisValueFromMouse(ByVal e As MouseEventArgs) As Object
Dim axis As LinearAxis = TryCast(RadChartView1.Axes(1), LinearAxis)
Dim delta As Double = axis.ActualRange.Maximum - axis.ActualRange.Minimum
Dim totalHeight As Double = axis.Model.LayoutSlot.Height
Dim ratio As Double = 1 - (e.Location.Y - Me.RadChartView1.Area.View.Viewport.Y - axis.Model.LayoutSlot.Y) / totalHeight
Dim value As Double = axis.ActualRange.Minimum + delta * ratio
Return value
End Function
I want to get value of CategoricalAxis value from CandleStick Chart

Hello,
I am trying to bring into view all elements of a diagram, but cannot manage to fit it to screen. Is there any workaround for BringIntoView method?
I tried to use the followings and won't work.
Last piece of code sometimes works, sometimes doesn't.
Is there a formula to calculate the bounds, the view port size and zoom to fit all elements of a diagram into view?
Thank you!
1.var box = selectedHardwareVariant.Shapes.GetEnclosingBounds();selectedHardwareVariant.DiagramElement.BringIntoView(box, false);selectedHardwareVariant.DiagramElement.Controller.OnViewportChanged();
2.
var box = selectedHardwareVariant.Shapes.GetEnclosingBounds(); selectedHardwareVariant.PanToPosition(box.Center()); selectedHardwareVariant.DiagramElement.BringIntoView(box, false); selectedHardwareVariant.DiagramElement.Controller.OnViewportChanged();3.
Telerik.Windows.Diagrams.Core.DiagramConstants.MinimumZoom = 0.001; Telerik.Windows.Diagrams.Core.DiagramConstants.MaximumZoom = 50; selectedHardwareVariant.AutoScroll = true; selectedHardwareVariant.AutoLayout = true; selectedHardwareVariant.ZoomIn(1); selectedHardwareVariant.Zoom = 1; selectedHardwareVariant.DiagramElement.Controller.OnViewportChanged(); var box = selectedHardwareVariant.Shapes.GetEnclosingBounds(); selectedHardwareVariant.PanToPosition(box.Center()); selectedHardwareVariant.DiagramElement.BringIntoView(box, false); selectedHardwareVariant.DiagramElement.Controller.OnViewportChanged(); IEnumerable<IShape> shapesOutside = selectedHardwareVariant.DiagramElement.Shapes.Where(x => !selectedHardwareVariant.DiagramElement.IsInViewport(x)); for (int i = 0; i < shapesOutside.Count(); i++) { double newZoom = Math.Round(selectedHardwareVariant.Zoom/1.1, 3); box = selectedHardwareVariant.Shapes.GetEnclosingBounds(); selectedHardwareVariant.DiagramElement.PanToPosition(box.Center()); selectedHardwareVariant.DiagramElement.Controller.OnViewportChanged(); selectedHardwareVariant.ZoomOut(newZoom, box.Center()); selectedHardwareVariant.Zoom = newZoom; if (selectedHardwareVariant.DiagramElement.Shapes.All(x => selectedHardwareVariant.DiagramElement.IsInViewport(x))) { break; } }

Hello,
I'm having some troubles with the alignment of any control in a layout or panel. Perhaps, I'm missing something trivial. Appreciated your help in this regard.
The attached image shows the basic approach that I'm looking for. Using RadLayoutControl or RadPanel, I'm not able to keep any control center aligned during design time. It this possible in any way?
Thanks
Lao
This is really for anyone that is using the chart controls and not just the admins. I have the controls working as expected, but I cannot come up with a suitable layout that I like and still works when the form is maximized. By "work" I mean still looking acceptable. For example, when the form is a fixed size, my layout looks fine but when I go full screen on a 34" monitor, there's a ton of unused space and the form looks like a hot mess.
What do folks do in this scenario? I don't have enough charts to fill up that much real estate and if I did, they surely wouldn't fit on a smaller form. Also, I probably wouldn't want to fill up a large monitor with that many charts.
Are dev's giving the user the ability to build their own dashboards PowerBI style?
For now I think I'm going to make my form a fixed width and keep moving forward. I will have to circle back to the layout challenges later.
Just curious to know what folks do when they hit this.
Thanks,
Michael.

Hi,
I have one RadGridView for WinForm UI.
I bind data dynamically using DataSource property and bind DataTable that is returned from database.
Before binding datasource, I add a GridViewCheckBoxColumn to the RadGridView (for selecting all rows).
following is the sample code:
If RadGridView1.MasterTemplate.Columns.GetColumnByFieldName("").Length = 0 Then
Dim checkBoxColumn As GridViewCheckBoxColumn = New GridViewCheckBoxColumn("")
checkBoxColumn.EnableHeaderCheckBox = True
checkBoxColumn.HeaderCheckBoxAlignment = ContentAlignment.MiddleCenter
checkBoxColumn.AllowFiltering = False
checkBoxColumn.CheckFilteredRows = False
checkBoxColumn.HeaderText = String.Empty
RadGridView1.MasterTemplate.Columns.Add(checkBoxColumn)
AddHandler RadGridView1.HeaderCellToggleStateChanged, AddressOf RadGridView1_HeaderCellToggleStateChanged
End If
Later I bind the data table:
RadGridView1.DataSource = dataTable
Now, I have 2 problems:
1. Checking / Unchecking header check box, checks/unchecks checkboxes of current page only. I need to perform the operation for the whole grid.
2. I have got filters on. User can select filters on columns. Once filters are applied, records are displayed according to those filters (other records are hidden). Now, when checking the header check box, it only selects records that are part of current page. For example, if I am on first page and apply filter on one column, grid will hide all rows from the first page that do not match the filter and pull records from 2nd and 3rd pages that match the criteria and show on the first page. But if I select check box in the header, then only records from first page are selected, records that came from 2nd and 3rd page are not selected.
Kindly help.

namespace AddInSamples{ using System.ComponentModel; using System.Drawing; using System.Windows.Forms; using Microsoft.Dynamics.Framework.UI.Extensibility; using Microsoft.Dynamics.Framework.UI.Extensibility.WinForms; using Telerik.WinControls; using Telerik.WinControls.UI; using WorkCenterRef; [ControlAddInExport("WorkCenterStatusListTelerik")] public class StaticNoCaptionAddIn : WinFormsControlAddInBase { private WorkCenterRef.WorkCenter_Service workCenterList; private WorkCenterRef.WorkCenter[] workCenters; private Telerik.WinControls.UI.RadGridView dataGrid; protected override Control CreateControl() { dataGrid = new RadGridView(); GridViewTextBoxColumn column1 = new GridViewTextBoxColumn("No."); GridViewTextBoxColumn column2 = new GridViewTextBoxColumn("Name"); GridViewDecimalColumn column3 = new GridViewDecimalColumn("% Capacity"); GridViewTextBoxColumn column4 = new GridViewTextBoxColumn("ProgressBar"); column4.DataType = typeof(int); column1.Width = 100; column2.Width = 100; column3.Width = 100; column4.Width = 100; this.dataGrid.Columns.Add(column1); this.dataGrid.Columns.Add(column2); this.dataGrid.Columns.Add(column3); this.dataGrid.Columns.Add(column4); workCenterList = new WorkCenter_Service(); workCenterList.UseDefaultCredentials = true; workCenters = workCenterList.ReadMultiple(null, null, 0); this.dataGrid.TableElement.BeginUpdate(); this.dataGrid.AllowAddNewRow = false; this.dataGrid.AllowDeleteRow = false; this.dataGrid.AllowEditRow = false; this.dataGrid.AllowDragToGroup = false; column4.ReadOnly = true; foreach (WorkCenterRef.WorkCenter workCenter in workCenters) { this.dataGrid.Rows.Add(workCenter.No, workCenter.Name, workCenter.Percent_Capacity); } this.dataGrid.TableElement.EndUpdate(); return dataGrid; } /// <summary> /// Gets a values indicating whether the control shall show a caption. /// Overrides the implementation of StringControlAddInBase for IWinFormsControlAddIn.AllowCaptionControl /// </summary> public override bool AllowCaptionControl { get { return false; } } }}
