I've been playing with the 2020 R1 demo and am having trouble setting and getting column widths of the VirtualGrid.
To set the column widths I've tried both TableElement, as in the documentation, and MasterViewInfo, which I found in the forums.
A little insight would be great!
Thanks!
using System;using System.Collections.Generic;using Telerik.WinControls.UI;namespace TelerikWinFormsApp1{ public partial class RadForm1 : Telerik.WinControls.UI.RadForm { List<Foo> data = new List<Foo>(); public RadForm1() { InitializeComponent(); this.Text = "Foo"; radVirtualGrid1.AutoSize = false; this.radVirtualGrid1.CellValueNeeded += new Telerik.WinControls.UI.VirtualGridCellValueNeededEventHandler(this.radVirtualGrid1_CellValueNeeded); this.radVirtualGrid1.ColumnWidthChanged += new Telerik.WinControls.UI.VirtualGridColumnEventHandler(this.radVirtualGrid1_ColumnWidthChanged); //These methods do not set the column width radVirtualGrid1.MasterViewInfo.SetColumnWidth(0, 300); radVirtualGrid1.MasterViewInfo.SetColumnWidth(1, 150); radVirtualGrid1.TableElement.SetColumnWidth(0, 300); radVirtualGrid1.TableElement.SetColumnWidth(1, 150); LoadData(); } private void radVirtualGrid1_ColumnWidthChanged(object sender, VirtualGridColumnEventArgs e) { //This is always 100 int i = e.ViewInfo.ColumnWidth; } private void radVirtualGrid1_CellValueNeeded(object sender, Telerik.WinControls.UI.VirtualGridCellValueNeededEventArgs e) { if (e.ViewInfo == this.radVirtualGrid1.MasterViewInfo) { if (e.ColumnIndex < 0) { return; } e.FieldName = Foo.FieldNames[e.ColumnIndex]; if (e.RowIndex == RadVirtualGrid.HeaderRowIndex) { e.Value = e.FieldName; } else if (e.RowIndex >= 0) { e.Value = data[e.RowIndex][e.ColumnIndex]; } } } private void LoadData() { Random random = new Random(); for (int i = 0; i < 10; i++) { Foo Foo = new Foo(); Foo.Me = i; Foo.Yu = i; data.Add(Foo); } this.radVirtualGrid1.RowCount = data.Count; this.radVirtualGrid1.ColumnCount = Foo.FieldNames.Length; } } public class Foo { public static readonly string[] FieldNames = { "Me", "Yu" }; public int Me { get; set; } public int Yu { get; set; } public int this[int index] { get { switch (index) { case 0: return Me; case 1: return Yu; default: return 0; } } } }
Hi,
I have an issue where I had originally set the combobox textbox alignment to the right with:
// **** Align Drop Down Box Text to RightrevPurgeCodeDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;addPurgeCodeDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;scrapCodeDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;scrapRsnDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;// ************************And it worked correctly. But then I decided I didn't want the user to be able to input anything, only select from drop down. So I added raddropdownstyle.dropdownlist:
// **** not allow use to type inscrapCodeDropList.DropDownStyle = RadDropDownStyle.DropDownList;scrapRsnDropList.DropDownStyle = RadDropDownStyle.DropDownList;revPurgeCodeDropList.DropDownStyle = RadDropDownStyle.DropDownList;addPurgeCodeDropList.DropDownStyle = RadDropDownStyle.DropDownList;// ************************The raddropdownstyle.dropdownlist worked, but the alignment isn't working any longer. I tried to put this before and I tried after before it's the same. Am I doing something wrong? Here's what I have now:
// **** not allow use to type inscrapCodeDropList.DropDownStyle = RadDropDownStyle.DropDownList;scrapRsnDropList.DropDownStyle = RadDropDownStyle.DropDownList;revPurgeCodeDropList.DropDownStyle = RadDropDownStyle.DropDownList;addPurgeCodeDropList.DropDownStyle = RadDropDownStyle.DropDownList;// ************************// **** Align Drop Down Box Text to RightrevPurgeCodeDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;addPurgeCodeDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;scrapCodeDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;scrapRsnDropList.MultiColumnComboBoxElement.TextBoxElement.TextAlign = HorizontalAlignment.Right;// ************************
Hi all,
I just downloaded the Telerik UI for Winforms 2018_2_621 and started "tinkering" around with the RadImageEditor control for a specific project I am currently working on for work. I was wondering, is there a way to "hide" or "disable" the buttons on the toolbar on the left hand side of the image editor? Or (perhaps the most ideal for me) is there a way to completely hide the toolbar altogether on the left hand side?
I thought this would be a simple "enable" or "disable" on a property of the control, but I can't seem to find any documentation on this matter. Thank you and I look forward to the response.

private void PasteClipboard() { char[] rowSplitter = { '\r', '\n' }; char[] columnSplitter = { '\t' }; // Get the text from clipboard IDataObject dataInClipboard = Clipboard.GetDataObject(); string stringInClipboard = (string)dataInClipboard.GetData(DataFormats.Text); // Split it into lines string[] rowsInClipboard = stringInClipboard.Split(rowSplitter, StringSplitOptions.RemoveEmptyEntries); // Get the row and column of selected cell in grid int r = ColumnsGrid.SelectedCells[0].RowIndex; int c = ColumnsGrid.SelectedCells[0].ColumnIndex; // Add rows into grid to fit clipboard lines if (ColumnsGrid.Rows.Count < (r + rowsInClipboard.Length)) { ColumnsGrid.Rows.Add(r + rowsInClipboard.Length - ColumnsGrid.Rows.Count); } // Loop through the lines, split them into cells and place the values in the corresponding cell. for (int iRow = 0; iRow < rowsInClipboard.Length; iRow++) { // Split row into cell values string[] valuesInRow = rowsInClipboard[iRow].Split(columnSplitter); // Cycle through cell values for (int iCol = 0; iCol < valuesInRow.Length; iCol++) { // Assign cell value, only if it within columns of the grid if (ColumnsGrid.ColumnCount - 1 >= c + iCol) { DataGridViewCell cell = ColumnsGrid.Rows[r + iRow].Cells[c + iCol]; if (!cell.ReadOnly) { cell.Value = valuesInRow[iCol]; } } } } }
Quote from https://docs.telerik.com/devtools/winforms/controls/gridview/rows/formatting-rows:
"To customize the non-data rows (header row, new row, filtering row, etc) of RadGridView, you need to handle the ViewRowFormatting event."
In that regard, how can I detect newly added row/s from ViewRowFormatting event?
Please know that I couldn't use the CreateRow event since it uses UI virtualization and it doesn't trigger for newly added rows that are not "visible" on the screen.

Hi,
I am just trying to drag&drop a file from the desktop to a simple radForm but DragDrop event do not fired, others events as DragEnter/DragOver/DragLeave works without problems but I can not detect when the user perform drag&Drop with the file into the form.
any idea why I can not catch this event?
namespace Drag{ partial class RadForm1 { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.visualStudio2012LightTheme1 = new Telerik.WinControls.Themes.VisualStudio2012LightTheme(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); this.SuspendLayout(); // // RadForm1 // this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(643, 488); this.Margin = new System.Windows.Forms.Padding(4); this.Name = "RadForm1"; // // // this.RootElement.ApplyShapeToControl = true; this.Text = "RadForm1"; this.ThemeName = "VisualStudio2012Light"; this.DragDrop += new System.Windows.Forms.DragEventHandler(this.RadForm1_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.RadForm1_DragEnter); this.DragOver += new System.Windows.Forms.DragEventHandler(this.RadForm1_DragOver); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); this.ResumeLayout(false); } #endregion private Telerik.WinControls.Themes.VisualStudio2012LightTheme visualStudio2012LightTheme1; }}namespace Drag{ partial class RadForm1 { /// <summary> /// Required designer variable. /// </summary> private System.ComponentModel.IContainer components = null; /// <summary> /// Clean up any resources being used. /// </summary> /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param> protected override void Dispose(bool disposing) { if (disposing && (components != null)) { components.Dispose(); } base.Dispose(disposing); } #region Windows Form Designer generated code /// <summary> /// Required method for Designer support - do not modify /// the contents of this method with the code editor. /// </summary> private void InitializeComponent() { this.visualStudio2012LightTheme1 = new Telerik.WinControls.Themes.VisualStudio2012LightTheme(); ((System.ComponentModel.ISupportInitialize)(this)).BeginInit(); this.SuspendLayout(); // // RadForm1 // this.AllowDrop = true; this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; this.ClientSize = new System.Drawing.Size(643, 488); this.Margin = new System.Windows.Forms.Padding(4); this.Name = "RadForm1"; // // // this.RootElement.ApplyShapeToControl = true; this.Text = "RadForm1"; this.ThemeName = "VisualStudio2012Light"; this.DragDrop += new System.Windows.Forms.DragEventHandler(this.RadForm1_DragDrop); this.DragEnter += new System.Windows.Forms.DragEventHandler(this.RadForm1_DragEnter); this.DragOver += new System.Windows.Forms.DragEventHandler(this.RadForm1_DragOver); ((System.ComponentModel.ISupportInitialize)(this)).EndInit(); this.ResumeLayout(false); } #endregion private Telerik.WinControls.Themes.VisualStudio2012LightTheme visualStudio2012LightTheme1; }}
Thanks a lot.
Francisco

I'd like to change progressbar color depending on value, for example:
>50 - red
<=50 - green
How to do it in app?
