
hi
how can i remove shape on controler_TextNeede ?
Is it possible to rotate a text box to display it vertically as per the attached mockup ?
Thanks in advance
PJ Pralong

Hi,
Please help me to hide the settings button near to the search textbox.
Image attached.
Thanks in advance
Hello
I contact you because I have been a problem for several days and I can not find the solution
I have a bound radgridview control in readonly. I allow to search row.
When I write something in the search row, my application is crashing.
You can download my simple example HERE
Thank you for your help
Good job, the telerik team ;-)
Fabrizio
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;using Telerik.WinControls;using Telerik.WinControls.UI;namespace test{ public partial class RadForm1 : Telerik.WinControls.UI.RadForm { #region School class public class School { public Guid Id { get; set; } public string Name { get; set; } public short SchoolYear { get; set; } public string Locality { get; set; } public string Titulaire { get; set; } public short Degre { get; set; } public List<Student> Students = new List<Student>(); public void AddStudent(Student student) { Students.Add(student); } public void RemoveStudent(Student student) { Students.Remove(student); } public int NombreEleve => Students.Count; } #endregion #region Student class public class Student { public Guid Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public Guid IdSchool { get; set; } public List<Cote> Cotes = new List<Cote>(); public School School = new School(); public string FullName => $"{LastName} {FirstName}"; public string SchoolName => School.Name; public int NombreCote => Cotes.Count; public void AddCote(Cote cote) { Cotes.Add(cote); } public void RemoveCote(Cote cote) { Cotes.Remove(cote); } } #endregion #region Discipline class public class Discipline { public Guid Id { get; set; } public string Name { get; set; } public List<Control> Controls = new List<Control>(); public int NombreControle => Controls.Count; public void AddControl(Control control) { Controls.Add(control); } public void RemoveControl(Control control) { Controls.Remove(control); } } #endregion #region Control class public class Control { public Guid Id { get; set; } public string Title { get; set; } public DateTime Date { get; set; } public decimal Quotation { get; set; } public short Period { get; set; } public Guid IdDiscipline { get; set; } public Discipline Discipline { get; set; } public List<Cote> Cotes = new List<Cote>(); public void AddCote(Cote cote) { Cotes.Add(cote); } public void RemoveCote(Cote cote) { Cotes.Remove(cote); } public string DisciplineName => Discipline.Name; public int NombreCote => Cotes.Count; } #endregion #region Cote class public class Cote { public enum eQuotationState { Top = 0, Defeat, Average, Good, Absent } public Guid IdStudent { get; set; } public Guid IdControl { get; set; } public DateTime Date { get; set; } public decimal? Quotation { get; set; } public Guid Id { get; set; } public Control Control { get; set; } public Student Student { get; set; } public string FullNameStudent => Student?.FullName; public Guid? IdSchool => Student?.IdSchool; public string SchoolName => Student?.SchoolName; public string ControlTitle => Control?.Title; public Int16? ControlPeriod => Control?.Period; public Guid? IdDiscipline => Control?.IdDiscipline; public string DisciplineName => Control?.DisciplineName; public decimal ControlQuotation => Control?.Quotation ?? 0M; public bool IsAbsent => (Quotation == null); public eQuotationState QuotationState => ( IsAbsent ? eQuotationState.Absent : (Quotation < (Control.Quotation / 2)) ? eQuotationState.Defeat : (Quotation == (Control.Quotation / 2)) ? eQuotationState.Average : (Quotation == Control.Quotation) ? eQuotationState.Top : eQuotationState.Good ); } #endregion private BindingList<School> _schools = new BindingList<School>(); private BindingList<Student> _students = new BindingList<Student>(); private BindingList<Discipline> _disciplines = new BindingList<Discipline>(); private BindingList<Control> _controls = new BindingList<Control>(); private BindingList<Cote> _cotes = new BindingList<Cote>(); public RadForm1() { CreateDatas(); InitializeComponent(); CreateBoundQuotationGrid(); } private void CreateDatas() { var school1 = new School { Id = Guid.NewGuid(), Degre = 1, Name = "School 1", SchoolYear = 2019, Titulaire = "Name 1" }; _schools.Add(school1); var student1 = new Student { Id = Guid.NewGuid(), FirstName = "Toto", LastName = "Toto", School = school1, IdSchool = school1.Id }; var student2 = new Student { Id = Guid.NewGuid(), FirstName = "Tata", LastName = "Tata", School = school1, IdSchool = school1.Id }; _students.Add(student1); _students.Add(student2); school1.Students.AddRange(_students.Where(x => x.IdSchool == school1.Id)); var discipline1 = new Discipline { Id = Guid.NewGuid(), Name = "French" }; var discipline2 = new Discipline { Id = Guid.NewGuid(), Name = "English" }; _disciplines.Add(discipline1); _disciplines.Add(discipline2); var control1 = new Control { Id = Guid.NewGuid(), Discipline = discipline1, IdDiscipline = discipline1.Id, Date = DateTime.Now, Period = 1, Title = "French control 1", Quotation = 10M }; var control2 = new Control { Id = Guid.NewGuid(), Discipline = discipline1, IdDiscipline = discipline1.Id, Date = DateTime.Now, Period = 1, Title = "French control 2", Quotation = 20M }; var control3 = new Control { Id = Guid.NewGuid(), Discipline = discipline1, IdDiscipline = discipline1.Id, Date = DateTime.Now, Period = 2, Title = "French control 3", Quotation = 30M }; var control4 = new Control { Id = Guid.NewGuid(), Discipline = discipline2, IdDiscipline = discipline2.Id, Date = DateTime.Now, Period = 2, Title = "Ensglish control 1", Quotation = 100M }; var control5 = new Control { Id = Guid.NewGuid(), Discipline = discipline2, IdDiscipline = discipline2.Id, Date = DateTime.Now, Period = 2, Title = "Ensglish control 2", Quotation = 200M }; var control6 = new Control { Id = Guid.NewGuid(), Discipline = discipline2, IdDiscipline = discipline2.Id, Date = DateTime.Now, Period = 1, Title = "Ensglish control 3", Quotation = 300M }; _controls.Add(control1); _controls.Add(control2); _controls.Add(control3); _controls.Add(control4); _controls.Add(control5); _controls.Add(control6); discipline1.Controls.AddRange(_controls.Where(x => x.IdDiscipline == discipline1.Id)); discipline2.Controls.AddRange(_controls.Where(x => x.IdDiscipline == discipline2.Id)); var cote1 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control1, IdControl = control1.Id, Student = student1, IdStudent = student1.Id, Quotation = 10M }; var cote2 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control1, IdControl = control1.Id, Student = student2, IdStudent = student2.Id, Quotation = 0M }; var cote3 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control2, IdControl = control2.Id, Student = student1, IdStudent = student1.Id, Quotation = 10M }; var cote4 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control3, IdControl = control3.Id, Student = student1, IdStudent = student1.Id, Quotation = 30M }; var cote5 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control4, IdControl = control4.Id, Student = student2, IdStudent = student2.Id, Quotation = 100M }; var cote6 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control5, IdControl = control5.Id, Student = student2, IdStudent = student2.Id, Quotation = default(decimal?) }; var cote7 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control6, IdControl = control6.Id, Student = student1, IdStudent = student1.Id, Quotation = 200M }; var cote8 = new Cote { Id = Guid.Empty, Date = DateTime.Now, Control = control6, IdControl = control6.Id, Student = student2, IdStudent = student2.Id, Quotation = 0M }; _cotes.Add(cote1); _cotes.Add(cote2); _cotes.Add(cote3); _cotes.Add(cote4); _cotes.Add(cote5); _cotes.Add(cote6); _cotes.Add(cote7); _cotes.Add(cote8); student1.Cotes.AddRange(_cotes.Where(x => x.IdStudent == student1.Id)); student2.Cotes.AddRange(_cotes.Where(x => x.IdStudent == student2.Id)); control1.Cotes.AddRange(_cotes.Where(x => x.IdControl == control1.Id)); control2.Cotes.AddRange(_cotes.Where(x => x.IdControl == control2.Id)); control3.Cotes.AddRange(_cotes.Where(x => x.IdControl == control3.Id)); control4.Cotes.AddRange(_cotes.Where(x => x.IdControl == control4.Id)); control5.Cotes.AddRange(_cotes.Where(x => x.IdControl == control5.Id)); control6.Cotes.AddRange(_cotes.Where(x => x.IdControl == control6.Id)); } /// <summary> /// Création des DGV adéquats /// </summary> private void CreateBoundQuotationGrid() { using (this.radGridView1.DeferRefresh()) { radGridView1.ShowFilteringRow = true; radGridView1.EnableFiltering = true; radGridView1.MasterTemplate.Reset(); radGridView1.MasterTemplate.ShowTotals = true; radGridView1.MasterTemplate.AddNewBoundRowBeforeEdit = true; radGridView1.MasterView.TableAddNewRow.IsPinned = true; radGridView1.MasterView.TableAddNewRow.PinPosition = PinnedRowPosition.Top; radGridView1.MasterView.TableSearchRow.CloseOnEscape = false; radGridView1.MasterView.TableSearchRow.ShowCloseButton = false; radGridView1.TableElement.RowHeaderColumnWidth = 50; // Ajouter la ligne des totaux radGridView1.SummaryRowsBottom.Add(new GridViewSummaryRowItem(new GridViewSummaryItem[] { new GridViewSummaryItem("CoteColumn", "Total {0:N2}", GridAggregateFunction.Sum), new GridViewSummaryItem("NomEleveColumn", "{0} cotes", GridAggregateFunction.Count) })); radGridView1.MasterView.SummaryRows[0].IsPinned = true; radGridView1.MasterView.SummaryRows[0].PinPosition = PinnedRowPosition.Bottom; radGridView1.BottomPinnedRowsMode = GridViewBottomPinnedRowsMode.Fixed; radGridView1.MasterTemplate.Columns.Add(new GridViewComboBoxColumn("PeriodeColumn", "ControlPeriod") { HeaderText = "Period", TextAlignment = ContentAlignment.MiddleCenter, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, MinWidth = 80, DropDownStyle = RadDropDownStyle.DropDownList, FilteringMode = GridViewFilteringMode.DisplayMember }); radGridView1.MasterTemplate.Columns.Add(new GridViewComboBoxColumn("DisciplineColumn", "IdDiscipline") { HeaderText = "Discipline", TextAlignment = ContentAlignment.MiddleLeft, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, MinWidth = 160, DropDownStyle = RadDropDownStyle.DropDownList, ValueMember = "Id", DisplayMember = "Name", FilteringMode = GridViewFilteringMode.DisplayMember, Tag = false }); radGridView1.MasterTemplate.Columns.Add(new GridViewComboBoxColumn("LibelleControleColumn", "IdControl") { HeaderText = "Control title", TextAlignment = ContentAlignment.MiddleLeft, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, WrapText = true, MinWidth = 160, DropDownStyle = RadDropDownStyle.DropDownList, ValueMember = "Id", DisplayMember = "Title", FilteringMode = GridViewFilteringMode.DisplayMember, Tag = false }); radGridView1.MasterTemplate.Columns.Add(new GridViewComboBoxColumn("LibelleClasseColumn", "IdSchool") { HeaderText = "School name", TextAlignment = ContentAlignment.MiddleLeft, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, WrapText = true, MinWidth = 160, DropDownStyle = RadDropDownStyle.DropDownList, ValueMember = "Id", DisplayMember = "Name", FilteringMode = GridViewFilteringMode.DisplayMember, Tag = false }); radGridView1.MasterTemplate.Columns.Add(new GridViewComboBoxColumn("NomEleveColumn", "IdStudent") { HeaderText = "Student fullname", TextAlignment = ContentAlignment.MiddleLeft, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, MinWidth = 160, DropDownStyle = RadDropDownStyle.DropDownList, ValueMember = "Id", DisplayMember = "FullName", FilteringMode = GridViewFilteringMode.DisplayMember, Tag = false }); radGridView1.MasterTemplate.Columns.Add(new GridViewDateTimeColumn("DateColumn", "Date") { HeaderText = "Date", TextAlignment = ContentAlignment.MiddleCenter, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, MinWidth = 100, MaxWidth = 100, Format = DateTimePickerFormat.Short, FormatString = "{0:d}", Tag = true }); radGridView1.MasterTemplate.Columns.Add(new GridViewDecimalColumn("CoteColumn", "Quotation") { HeaderText = "Quotation", TextAlignment = ContentAlignment.MiddleCenter, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, DecimalPlaces = 2, ShowUpDownButtons = false, AllowGroup = false, Minimum = 0, MinWidth = 130, Tag = true }); radGridView1.MasterTemplate.Columns.Add(new GridViewDecimalColumn("QuotationStateColumn", "QuotationState") { HeaderText = "State", TextAlignment = ContentAlignment.MiddleCenter, HeaderTextAlignment = ContentAlignment.MiddleCenter, AutoSizeMode = BestFitColumnMode.AllCells, DecimalPlaces = 2, ShowUpDownButtons = false, ReadOnly = true }); } } public void SetBindingColumnsQuotation() { var periodColumn = (this.radGridView1.MasterTemplate.Columns["PeriodeColumn"] as GridViewComboBoxColumn); periodColumn.DataSource = _controls.Select(x => x.Period).Distinct().OrderBy(x => x); var matiereColumn = (this.radGridView1.MasterTemplate.Columns["DisciplineColumn"] as GridViewComboBoxColumn); matiereColumn.DataSource = _controls.Select(x => x.Discipline).Distinct().OrderBy(x => x.Name); var controlColumn = (this.radGridView1.MasterTemplate.Columns["LibelleControleColumn"] as GridViewComboBoxColumn); controlColumn.DataSource = _controls.OrderBy(x => x.Title); var schoolColumn = (this.radGridView1.MasterTemplate.Columns["LibelleClasseColumn"] as GridViewComboBoxColumn); schoolColumn.DataSource = _students.Select(x => x.School).Distinct().OrderBy(x => x.Name); var studentColumn = (this.radGridView1.MasterTemplate.Columns["NomEleveColumn"] as GridViewComboBoxColumn); studentColumn.DataSource = _students.OrderBy(x => x.FullName); } private void RadForm1_Load(object sender, EventArgs e) { using (radGridView1.DeferRefresh()) radGridView1.DataSource = _cotes; radGridView1.MasterTemplate.BestFitColumns(BestFitColumnMode.AllCells); SetBindingColumnsQuotation(); WindowState = FormWindowState.Maximized; } }}
public class CustomGroupCellHeader : GridGroupContentCellElement { public event EventHandler CheckChanged; public RadCheckBoxElement Checkbox { get; set; } public GridViewColumn Column { get; set; } public GridRowElement Row { get; set; } public Guid OperatorId { get; set; } public string OperatorName { get; set; } public CustomGroupCellHeader(GridViewColumn column, GridRowElement row) : base(column, row) { this.Column = column; this.Row = row; } protected override void CreateChildElements() { base.CreateChildElements(); this.Checkbox = new RadCheckBoxElement(); this.Checkbox.MinSize = new Size(10, 10); this.Checkbox.ToggleStateChanged += new StateChangedEventHandler(_checkbox_ToggleStateChanged); this.Children.Insert(0, this.Checkbox); } protected override System.Drawing.SizeF ArrangeOverride(System.Drawing.SizeF finalSize) { SizeF size = base.ArrangeOverride(finalSize); RectangleF rect = GetClientRectangle(finalSize); if (this.Checkbox != null) { this.Checkbox.Arrange(new RectangleF(rect.X, rect.Y + 5, 10, 10)); } return size; } private void _checkbox_ToggleStateChanged(object sender, StateChangedEventArgs args) { if (this.CheckChanged != null) { this.CheckChanged(this, null); } }private List<CustomGroupCellHeader> _groupCheckboxes = new List<CustomGroupCellHeader>();private void results_CreateCell(object sender, GridViewCreateCellEventArgs e){ if (e.CellType == typeof(GridGroupContentCellElement)) { CustomGroupCellHeader customCell = new CustomGroupCellHeader(e.Column, e.Row); customCell.CheckChanged += new EventHandler(customCell_CheckChanged); e.CellElement = customCell; _groupCheckboxes.Add(customCell); }}
Hello,
Maybe it's a stupid question but I cannot find it anywhere.
I have a scheduler with several appointments (normal and recurring).
How can I retrieve all appointments at a specific date and time?
Best regards
Patrick Vossen


Hi.
I have a radgridview that contains many images. i want to get the image size (width and height in "pixel") of each image. how can i do that?
Note: i have no access to image sources (in fact, there is no any image source. all images are in binary format and has been converted to image automatically in radgridview's image columns).
thanks in advance

