The state of the checkbox inside the items is not displayed correctly when RadListView is disabled.
The horizontal scroll bar of RadListView does update correctly when AllowArbitraryItemWidth is true.
To reproduce: run the attached sample project on 150%. Workaround: this.radCheckedDropDownList1.Multiline = true;
Sorting in RadListView does not work when using custom grouping.
FIX. RadListView - the Clear method of the CheckedItems collection does not work - it causes the application to freeze
To reproduce: populate RadListView with data and enable editing. Allow multiline text for the editor private void radListView1_EditorInitialized(object sender, Telerik.WinControls.UI.ListViewItemEditorInitializedEventArgs e) { ListViewTextBoxEditor editor = e.Editor as ListViewTextBoxEditor; if (editor!=null) { editor.Multiline = true; editor.AcceptsReturn = true; } } Workaround: private void radListView1_EditorRequired(object sender, ListViewItemEditorRequiredEventArgs e) { e.Editor = new CustomListViewTextBoxEditor(); } public class CustomListViewTextBoxEditor : ListViewTextBoxEditor { protected override void OnKeyDown(KeyEventArgs e) { if (e.KeyCode== Keys.Enter && e.Modifiers== Keys.Shift) { return; } base.OnKeyDown(e); } }
Reason: this is the expected behavior.
To reproduce: add a RadListView, an ImageList (with two images: e.g. "crop.png" and "save.png") and a RadDropDownList. Use the following code snippet: public Form1() { InitializeComponent(); this.radDropDownList1.DataSource = Enum.GetValues(typeof(ListViewType)); this.radListView1.ImageList = this.imageList1; this.radListView1.SmallImageList = this.imageList1; this.radListView1.Columns.Add("Column1"); string imageKey = string.Empty; for (int i = 0; i < 5; i++) { this.radListView1.Items.Add("Item" + i); if (i % 2 == 0) { imageKey = "crop.png"; } else { imageKey = "save.png"; } this.radListView1.Items.Last().ImageKey = imageKey; this.radListView1.Items.Last()["Column1"] = this.radListView1.Items.Last().Text; } } private void radDropDownList1_SelectedValueChanged(object sender, EventArgs e) { if (this.radDropDownList1.SelectedValue != null) { this.radListView1.ViewType = (ListViewType)this.radDropDownList1.SelectedValue; } } Initially, we will see the image displayed for each item. However, when you change to DetailsView, the image is not displayed. Workaround: use the RadListView.CellFormatting event and set CellElement.Image property for the cells in the first column.
ExpandAll/CollapseAll API for groups will be a nice addition to RadListView. This will avoid iteration over the groups.
Currently one cannot set the field name at design time as well.
Use attached to reproduce. Workaround: class MyListView : RadListView { protected override RadListViewElement CreateListViewElement() { return new MyListViewElement(); } } class MyListViewElement : RadListViewElement { protected override Type ThemeEffectiveType => typeof(RadListViewElement); public override void SynchronizeVisualItems() { for (int i = 0; i < this.ViewElement.ViewElement.Children.Count; i++) { BaseListViewVisualItem visualItem = (BaseListViewVisualItem)this.ViewElement.ViewElement.Children[i]; visualItem.Synchronize(); } this.Invalidate(); } }
The CompositeFilterDescriptor does not fire notifications when its FilterDescriptors collection changes. The result is that the items of RadListView are not filtered correctly when adding FilterDescriptors to a CompositeFilterDescriptor.
FIX. RadListView - CheckedItems is not cleared when the DataSource is changed
1. Drag a RadListView from the toolbox to the form. 2. Add some columns and modify their Width property 3. Run the project. 4. An Object reference exception will be thrown.
Steps to reproduce. 1. Add a RadListView to a form 2. Set the ViewType to Details. 3. Add a button and in the click event handler add 10000 items to the list view You will see that the add process will take a while.
To reproduce: run the sample project, select an item, press F2 and select a new item. You are expecting the BaseDropDownListEditorElement.SelectedIndexChanging event is fired in this case and you may be able to cancel the new selection in certain conditions.
If you set the ViewType property to DetailView and the VerticalScrollState property to AlwaysShow at design time and you run the project, you will notice that the VerticalScrollState property is not taken into consideration.
To reproduce: run the attached sample project and follow the steps in the gif file. Workaround: don't use Begin/EndUpdate when best-fitting the column.
To reproduce: use the following code snippet and follow the steps from the attached gif file: private List<sampleClass> MyList = new List<sampleClass>(); public RadForm1() { InitializeComponent(); MyList.Add(new sampleClass("Test 1")); MyList.Add(new sampleClass("Test 2")); MyList.Add(new sampleClass("Test 3")); MyList.Add(new sampleClass("Test 4")); MyList.Add(new sampleClass("Test 5")); radListView1.DataSource = MyList; } private void radButton1_Click(object sender, EventArgs e) { this.radListView1.BeginEdit(); } private void radButton2_Click(object sender, EventArgs e) { this.radListView1.EndEdit(); } private void radListView1_ItemValueChanged(object sender, Telerik.WinControls.UI.ListViewItemValueChangedEventArgs e) { radListView1.BeginUpdate(); radListView1.CurrentColumn.BestFit(); radListView1.EndUpdate(); } } public class sampleClass { public string test { get; set; } public sampleClass() { } public sampleClass(string Val) { test = Val; } } Workaround: use the ItemEdited event instead of the ItemValueChanged event.
To reproduce: Add a RadListView with Icons mode and Horizontal orientation, call ensure visible on non visible items, you will see that the scrollbar's value is on maximum