To reproduce: - Use the details view and add some columns. - Hide the first column and export the data. - The header row still contains the hidden column and the data is not exported. Workaround: Remove the first header cell manually: private void Renderer_WorkbookCreated(object sender, WorkbookCreatedEventArgs e) { var sheet = e.Workbook.Worksheets[0] as Worksheet; CellIndex range = new CellIndex(0, 0); CellSelection selection = sheet.Cells[range]; selection.Remove(RemoveShiftType.Left); }
Workaround: after rebinding the control invalidate its measure: this.radCardView1.CardViewElement.InvalidateMeasure(true);
To reproduce: private void RadListView1_CurrentItemChanging(object sender, Telerik.WinControls.UI.ListViewItemChangingEventArgs e) { e.Cancel = true; } Workaround: private void RadListView1_SelectedIndexChanged(object sender, EventArgs e) { this.radListView1.SelectedIndexChanged -= RadListView1_SelectedIndexChanged; this.radListView1.SelectedIndex = 0; this.radListView1.SelectedIndexChanged += RadListView1_SelectedIndexChanged; }
Use the attached project to reproduce. Workaround: - Reset the descriptors after the changes are performed. Dim sortDescriptor = radListView1.SortDescriptors(0) radListView1.SortDescriptors.Clear 'add/remove items radListView1.SortDescriptors.Add(sortDescriptor)
I got an exception when I'll try to add new items in a radcheckeddropdownlist. No differences between AddRange(List<objects>) and Add(<object>) We use the dropdownlist in the CustomAppointmentEditDialog for resources and here some sample code: //cmbResourceMulti.BeginUpdate(); cmbResourceMulti.Items.Clear(); var resources = data.GetRooms(); List<RadCheckedListDataItem> lst = new List<RadCheckedListDataItem>(); foreach (var res in resources) { var item = new RadCheckedListDataItem(res.Raumname); item.Tag = res; item.Value = res.ID; lst.Add(item); if (sourceEvent.ResourceId != null && sourceEvent.ResourceIds.Contains(new EventId(res.ID))) { item.Checked = true; } } cmbResourceMulti.Items.AddRange(lst.ToArray()); //cmbResourceMulti.EndUpdate(); cmbResourceMulti.Refresh(); On first load everything is working fine. Open an existing appointment and check a new resource. After saving the appointment and reopen it, the error appears . See attached file. Can you help please?
To reproduce use the attached project. Workaround: radCheckedDropDownList1.CheckedDropDownListElement.BeginUpdate(); radCheckedDropDownList1.CheckedMember = "Selected"; radCheckedDropDownList1.DisplayMember = "Name"; radCheckedDropDownList1.DataSource = dataSource; radCheckedDropDownList1.CheckedDropDownListElement.EndUpdate();
To reproduce: - Add some custom groups - Change the default comparer and sort the items. Workaround Assign the custom comparer to each of the groups
It should be similar to RadCheckedListBox: DataTable dt = new DataTable(); dt.Columns.Add("Id",typeof(int)); dt.Columns.Add("Name", typeof(string)); dt.Columns.Add("IsChecked", typeof(int)); for (int i = 0; i < 10; i++) { dt.Rows.Add(i,"Item"+i,i%2); } this.radCheckedDropDownList1.DataSource = dt; this.radCheckedDropDownList1.DisplayMember = "Name"; this.radCheckedDropDownList1.ValueMember = "Id"; this.radCheckedDropDownList1.CheckedMember = "IsChecked";
How to reproduce: Bind RadCardView to the Employees table from the Northwind database: public partial class Form1 : Form { public Form1() { InitializeComponent(); this.radCardView1.CardViewItemCreating += radCardView1_CardViewItemCreating; } private void radCardView1_CardViewItemCreating(object sender, Telerik.WinControls.UI.CardViewItemCreatingEventArgs e) { CardViewGroupItem group = e.NewItem as CardViewGroupItem; if (group != null) { group.IsExpanded = false; } } private void Form1_Load(object sender, EventArgs e) { this.employeesTableAdapter.Fill(this.nwindDataSet.Employees); } } Workaround: handle the CardViewItemFormatting event private void radCardView1_CardViewItemFormatting(object sender, CardViewItemFormattingEventArgs e) { CardViewGroupItem group = e.Item as CardViewGroupItem; if (group != null && group.Tag == null && group.Parent != null && group.Parent.Parent != null && group.Parent.Parent is CardListViewVisualItem) { group.IsExpanded = false; group.Tag = "Processed"; } }
To reproduce: - Use the mouse to select an item from the drop down list. - Using the keyboard, type a letter and use the mouse to select one more item. - Change the DataSource with a button. Workaround: radCheckedDropDownList1.DataSource = null; radCheckedDropDownList1.AutoCompleteMode = AutoCompleteMode.None; radCheckedDropDownList1.ValueMember = "Id"; radCheckedDropDownList1.DisplayMember = "Value"; radCheckedDropDownList1.CheckedMember = "IsSelected"; radCheckedDropDownList1.DataSource = list; radCheckedDropDownList1.AutoCompleteMode = AutoCompleteMode.Suggest;
To reproduce: public RadForm1() { InitializeComponent(); radListView1.EnableCustomGrouping = true; radListView1.EnableFiltering = true; radListView1.FilterPredicate = Filter; radListView1.ShowGroups = true; ListViewDataItemGroup docGroup = new ListViewDataItemGroup("Documents"); ListViewDataItemGroup diskGroup = new ListViewDataItemGroup("Disks"); radListView1.Groups.Add(docGroup); radListView1.Groups.Add(diskGroup); for (int i = 0; i < 100; i++) { ListViewDataItem item = new ListViewDataItem("g1"); item.Group = docGroup; item.Value = rnd.Next(100); this.radListView1.Items.Add(item); item = new ListViewDataItem("g2"); item.Group = diskGroup; item.Value = rnd.Next(100); this.radListView1.Items.Add(item); } } private void radButton1_Click(object sender, EventArgs e) { radListView1.FilterDescriptors.Add("Value", Telerik.WinControls.Data.FilterOperator.IsGreaterThan, 50); } bool Filter(ListViewDataItem item) { Console.WriteLine(item.Value); int value = 0; if ((int.TryParse(item.Value.ToString(), out value))) { return value < 50; } return true; } Workaround: ListViewGroupedItemsCollection items = docGroup.Items as ListViewGroupedItemsCollection; var innerList = items.GetType().GetProperty("InnerList", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance).GetValue(items); var view = ((RadListSource<ListViewDataItem>) innerList).CollectionView; view.Filter = Filter;
The user won't be allowed to enter some text if a match doesn't exist.
To reproduce: - Open the attached project. - Press the button and then select an item, perform the same operation 2 times. Workaround: The workaround is available in the attached project as well.
To reproduce: List<string> items = new List<string>(); for (int i = 0; i < 5; i++) { items.Add("Item"+i); } this.radCheckedDropDownList1.Items.AddRange(items); Workaround: add a range of RadCheckedListDataItems
To reproduce: 1. Drag and drop RadListView and set the ViewType to DetailsView 2. Add few rows and 2 columns. Set the font of items to Trebuchet MS 3. While resizing columns, the text jumped up. Workaround: Set the AllowArbitraryItemHeight property to true: this.radListView1.AllowArbitraryItemHeight = true;
To reproduce: - Initialize the control like this: public Form1() { InitializeComponent(); this.radListView1.ListViewElement.Children[0].Children[0].Padding = new Padding(0, 0, 50, 0); this.radListView1.ListViewElement.BackColor = Color.FromArgb(255, 2, 48, 108); this.radListView1.ItemSpacing = 10; this.radListView1.ItemSize = new Size(152, 152); this.radListView1.AllowArbitraryItemHeight = false; this.radListView1.AllowArbitraryItemWidth = false; } private void Form1_Load(object sender, EventArgs e) { for (int i = 1; i < 23; i++) { ListViewDataItem item = new ListViewDataItem(); item.Text = "The7quick7brown7fox7jumps7over7the7lazy7dog"; item.NumberOfColors = 1; item.BackColor = Color.FromArgb(255, 106, 90, 167); item.ForeColor = Color.White; this.radListView1.Items.Add(item); } } - Resize the form in such way that there is a free space on the right side of the items. - Maximize and then restore the form. - The space is gone.
FIX. RadListView - one should be able to style (via theme and cell formatting) the header area besides the header cells
Please refer to the attached screenshot. To reproduce: public RadForm1() { InitializeComponent(); Font f = new Font("Microsoft Sans Serif", 9.5f); this.radDropDownList1.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDownList; this.radDropDownList1.Font = f; this.radDropDownList2.DropDownStyle = Telerik.WinControls.RadDropDownStyle.DropDown; this.radDropDownList2.Font = f; } Workaround: If the text is not completely visible in RadDropDownList for a specific font you can increase the minimum height of the RadDropDownList and the DropDownListElement.TextBox.TextBoxItem.TextBoxControl. public RadForm1() { InitializeComponent(); this.radDropDownList1.MinimumSize = new Size(0, 25); this.radDropDownList1.DropDownListElement.TextBox.TextBoxItem.TextBoxControl.MinimumSize = new Size(0, 25); }
How to reproduce: public Form1() { InitializeComponent(); new RadControlSpyForm().Show(); for (int i = 0; i < 2; i++) { this.radCheckedDropDownList1.Items.Add("Item &" + i); } this.radCheckedDropDownList1.VisualListItemFormatting += radCheckedDropDownList1_VisualListItemFormatting; } Workaround: private void radCheckedDropDownList1_VisualListItemFormatting(object sender, VisualItemFormattingEventArgs args) { RadCheckedListVisualItem item = args.VisualItem as RadCheckedListVisualItem; RadLabelElement lbl = item.FindDescendant<RadLabelElement>(); lbl.UseMnemonic = false; }
To reproduce: 1. Add RadListView with few items 2. Set the ShowCheckBoxes property to true and the Dock property to Fill 3. Subscribe to the VisualItemFormatting event and use the following code: void radListView1_VisualItemFormatting(object sender, ListViewVisualItemEventArgs e) { IconListViewVisualItem item = e.VisualItem as IconListViewVisualItem; if (item != null) { ListViewItemCheckbox checkBox = item.ToggleElement as ListViewItemCheckbox; if (item.Text.Contains("coffee") || item.Text.Contains("Americano")) { checkBox.Visibility = Telerik.WinControls.ElementVisibility.Hidden; } } } 4. Run the form.The checkboxes are hidden until resizing the form. Workaround: Set the MaxSize of checkboxes: void radListView1_VisualItemFormatting(object sender, ListViewVisualItemEventArgs e) { IconListViewVisualItem item = e.VisualItem as IconListViewVisualItem; if (item != null) { ListViewItemCheckbox checkBox = item.ToggleElement as ListViewItemCheckbox; if (item.Text.Contains("coffee") || item.Text.Contains("Americano")) { checkBox.MaxSize = checkBox.MaxSize = new Size(1,1); } } }