Unplanned
Last Updated: 05 Apr 2024 10:36 by ADMIN

This behavior is observed when the VisualStudio2022Light theme is applied. For example, this is not observed in the Fluent theme.

Unplanned
Last Updated: 03 Apr 2024 08:17 by ADMIN

The problem also occurs, if you just start the form. For example, on 175% (without drag).

 

Unplanned
Last Updated: 11 Mar 2024 11:51 by ADMIN
The EnsureRowVisible() method does not calculate the correct position of the scroll for a child view row in the hierarchy view.
Unplanned
Last Updated: 11 Mar 2024 11:28 by Bert
radVirtualGrid1.VirtualGridElement.SetColumnPinPosition(0, PinnedColumnPosition.Left);
radVirtualGrid1.VirtualGridElement.SetColumnPinPosition(2, PinnedColumnPosition.Left);
Unplanned
Last Updated: 19 Dec 2023 12:55 by ADMIN

 

Elements in the child grid that are outside of the parent bounds are not active. This means that you can't resize the column, edit, filter, sort or use any other build-in behavior.

Example 2

 

Unplanned
Last Updated: 19 Dec 2023 12:55 by ADMIN

The horizontal scrollbar should not appear on top of the data row.

Example

Unplanned
Last Updated: 01 Mar 2023 11:11 by ADMIN

Repro-steps

  • Create a RadVirtualGrid en fill it with random data.
  • Allow the grid to select multiple rows.
  • Select all rows
  • Right click on a cell, a context menu appears...

Observed behavior

First, lets compare this with when you right click on a record selector (the cell before a row starts, sometimes with an arrow). In that case only that row gets selected, so you visually see what the context menu is about. When you right click on a cell, the selection does not change so the context remains unclear. In my printscreen above it is hard to see on which cell I clicked.

Second, the actions in the context menu target multiple targets or contexts. Copy and Paste target the whole selection. Clear and Edit target the cell, Delete Row targets the row which I clicked on, but which is not visible. 

In this case, the user actually wanted to right click and delete ALL rows, which is not part of the context menu. Instead he clicked on Delete Row and he was unaware of what he had actually deleted.

Expected bevahior

  • Or, when you right click on a cell, the cell gets highlighted, so you know where you have clicked
  • Or, the rows gets highlighted (like your pressed on the record selector)
  • Or, the cell gets highlighted
  • And/or, the context menu offers an action to Delete All Rows.

 

Unplanned
Last Updated: 13 Feb 2023 07:32 by ADMIN
Created by: Martin
Comments: 6
Category: VirtualGrid
Type: Bug Report
2

Repro-steps:

  1. Use the code beneath.
  2. Run this form.
  3. 20 records are shown, the "AddNewRow" is shown.
  4. Select all records.
  5. Press <delete>
  6. 0 records are shown (as expected), the "AddNewRow" is invisible (unexpected).
  7. Close the program.
  8. Modify LoadTable(true) to LoadTable(false). Records will not be created..
  9. Run this form.
  10. 0 records are shown (as expected), the "AddNewRow" is invisible (unexpected).

Expected behavior:

  • Even when the dataTable or view has no rows, we should still be able to add new rows.

Observed behavior:

  • When datatable/view is empty, no new records are allowed to enter.

Please observe that Grid.UserAddedRow is not handled, but since we cannot even see the AddNewRow, it is not required for this bug.


	public partial class TestForm: Form
	{
		private readonly DataView _view;

		public TestForm()
		{
			InitializeComponent();

			_view = new DataView(LoadTable(true));
			_grid.ColumnCount = _view.Table.Columns.Count;
			_grid.RowCount = _view.Count;
			_grid.AllowAddNewRow = true;
			_grid.SelectionMode = VirtualGridSelectionMode.FullRowSelect;
		}

		static private DataTable LoadTable(bool fill)
		{
			var table = new DataTable();
			table.Columns.Add("Number", typeof(int));
			
			if (fill)
				for(int i = 0; i < 20; i++)
					table.Rows.Add(i);
			
			return table;
		}


		#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._grid = new Telerik.WinControls.UI.RadVirtualGrid();
			((System.ComponentModel.ISupportInitialize)(this._grid)).BeginInit();
			this.SuspendLayout();
			// 
			// _grid
			// 
			this._grid.Dock = System.Windows.Forms.DockStyle.Fill;
			this._grid.Location = new System.Drawing.Point(0, 0);
			this._grid.MultiSelect = true;
			this._grid.Name = "_grid";
			this._grid.SelectionMode = Telerik.WinControls.UI.VirtualGridSelectionMode.FullRowSelect;
			this._grid.Size = new System.Drawing.Size(800, 450);
			this._grid.TabIndex = 0;
			this._grid.CellValueNeeded += new Telerik.WinControls.UI.VirtualGridCellValueNeededEventHandler(this._grid_CellValueNeeded);
			this._grid.UserDeletedRow += new Telerik.WinControls.UI.VirtualGridRowsEventHandler(this._grid_UserDeletedRow);
			// 
			// TestForm
			// 
			this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
			this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
			this.ClientSize = new System.Drawing.Size(800, 450);
			this.Controls.Add(this._grid);
			this.Name = "TestForm";
			this.Text = "TestForm";
			((System.ComponentModel.ISupportInitialize)(this._grid)).EndInit();
			this.ResumeLayout(false);

		}

		#endregion

		private Telerik.WinControls.UI.RadVirtualGrid _grid;

		private void _grid_CellValueNeeded(object sender, Telerik.WinControls.UI.VirtualGridCellValueNeededEventArgs e)
		{
			if (e.ColumnIndex < 0)
				return;

			if (e.RowIndex < 0)
			{
				e.FieldName = _view.Table.Columns[e.ColumnIndex].ColumnName;
				if (e.RowIndex == RadVirtualGrid.HeaderRowIndex)
					e.Value = e.FieldName;
			}
			else if (e.RowIndex < _view.Count)
			{
				e.Value = _view[e.RowIndex][e.ColumnIndex];
			}
		}

		private void _grid_UserDeletedRow(object sender, Telerik.WinControls.UI.VirtualGridRowsEventArgs e)
		{
			var rowIndexes = e.RowIndices.Distinct().OrderByDescending(i => i).ToList(); // Off topic: I have seen duplicate row indexes in this row collection. And unsorted. Is that by design?
			if (rowIndexes.Count == _view.Count)
			{
				_view.Table.Rows.Clear();
			}
			else
			{
				foreach(var index in rowIndexes)
					_view[index].Delete();
			}

			_grid.RowCount = _view.Count;
		}
	}

Unplanned
Last Updated: 16 Nov 2021 12:46 by ADMIN

Please refer to the attached sample project and the gif file. You will notice that when resizing the grid, in certain cases unnecessary horizontal scrollbar appears.

Unplanned
Last Updated: 19 Nov 2020 09:59 by ADMIN

Please run the attached sample project and navigate with the left/right arrows as it is demonstrated in the gif file.

Unplanned
Last Updated: 16 May 2019 05:55 by ADMIN

Hello, we have found another small bug of the RadVirtualGrid control.

When paging is enabled on child view, one of the component of the paging panel overlap whit is parent.

I attach source code and screenshot.

 

Thanks in advance.

 

Unplanned
Last Updated: 16 May 2019 05:12 by ADMIN
To reproduce: please refer to the attached gif file. The CellClick is not fired for the child rows that belong to columns that exceed the width of the parent template.

Workaround: set the AutoSizeColumnsMode property to Fill.

this.radVirtualGrid1.AutoSizeColumnsMode = Telerik.WinControls.UI.VirtualGridAutoSizeColumnsMode.Fill;