I want to create a RadGridViewwhich allow the user to enter the multiple materials just click on add material
as well as after list of material adds, we can add the multiple labours also

I have this code modified from example for moving rows between grids:
GridDataRowBehavior:
public class RowSelectionGridBehavior : GridDataRowBehavior{ private List<GridViewRowInfo> selectedRows = new List<GridViewRowInfo>(); protected override bool OnMouseDownLeft(MouseEventArgs e) { GridDataRowElement row = this.GetRowAtPoint(e.Location) as GridDataRowElement; if (row != null) { RadGridViewDragDropService svc = this.GridViewElement.GetService<RadGridViewDragDropService>(); svc.AllowAutoScrollColumnsWhileDragging = true; svc.AllowAutoScrollRowsWhileDragging = true; svc.Start(row); } return base.OnMouseDownLeft(e); }}My extension of RadGridView
public delegate void MovingItemsEvent(List<GridViewRowInfo> rows, object source, object target);public event MovingItemsEvent MovingItems;//THIS IS THE PART I DON'T LIKEprivate void ExtendedGrid_MouseDown(object sender, MouseEventArgs e){ if (e.Button == System.Windows.Forms.MouseButtons.Left && EnableDragnDrop) { GridGroupContentCellElement row = this.ElementTree.GetElementAtPoint(e.Location) as GridGroupContentCellElement; if (row != null) { RadGridViewDragDropService svc = this.GridViewElement.GetService<RadGridViewDragDropService>(); svc.AllowAutoScrollColumnsWhileDragging = true; svc.AllowAutoScrollRowsWhileDragging = true; svc.Start(row); } }}private bool _EnableDragnDrop;[BrowsableAttribute(true)]public bool EnableDragnDrop{ get { return this._EnableDragnDrop; } set { _EnableDragnDrop = value; if (value) { //register the custom row selection behavior var gridBehavior = this.GridBehavior as BaseGridBehavior; gridBehavior.UnregisterBehavior(typeof(GridViewDataRowInfo)); //gridBehavior.UnlockBehavior(typeof(GridGroupContentCellElement)); gridBehavior.RegisterBehavior(typeof(GridViewDataRowInfo), new RowSelectionGridBehavior()); } }}private void svc_PreviewDragStart(object sender, PreviewDragStartEventArgs e){ if (EnableDragnDrop) e.CanStart = true;}private void svc_PreviewDragOver(object sender, RadDragOverEventArgs e){ if (EnableDragnDrop) e.CanDrop = true;}private void svc_PreviewDragDrop(object sender, RadDropEventArgs e){ if (EnableDragnDrop) { var dropTarget = e.HitTarget as RadItem; var targetGrid = dropTarget.ElementTree.Control as RadGridView; //append dragged rows to the end of the target grid List<GridViewRowInfo> rows = new List<GridViewRowInfo>(); if (e.DragInstance is GridGroupContentCellElement) { e.Handled = true; GridGroupContentCellElement group = e.DragInstance as GridGroupContentCellElement; foreach (var row in group.ViewInfo.CurrentRow.ChildRows) { rows.Add(row); } this.MoveRows(targetGrid, rows); } else if (e.DragInstance is GridDataRowElement) { e.Handled = true; foreach (var row in this.SelectedRows) { rows.Add(row); } this.MoveRows(targetGrid, rows); } }}private void MoveRows(RadGridView targetGrid, List<GridViewRowInfo> dragRows){ this.BeginUpdate(); targetGrid.BeginUpdate(); if (MovingItems != null) { MovingItems(dragRows, this, targetGrid); } this.EndUpdate(true); targetGrid.EndUpdate(true);}
This works fine without any problem, but I would like if ther is a better way to allow Grouped rows to be dragged, like for example registering a GridBehavior like in the case of ordinary rows
Hello,
I have defined my own GroupBox, that inherits the RadGroupBox.
If I apply a Theme, nothing happend.
Button, MaskedEditBox, CheckBox etc. works fine, but not the GroupBox.
Is this an known issue?
Regards
First, I'm new to Telerik Controls.
I'm trying to show a simple hierarchical class (some Properties and a List<T> with sub entries) in a RadGridView. I figured out I can use "AutoGenerateHierarchy" which works so far. But I'm having a real hard time to make it look how I need it. Especially for the sub entries. What ever I change in the Property Builder on "Template1" doesn't seem to have any effect. Also does it display a + even if the entry doesn't have sub entries.
I would appreciated if you could help me out with this...
Greetings,
I want the RadTimePicker to show only Time value , not date. How to do that ?
Thanks

Hello, I have tried modifying https://docs.telerik.com/devtools/winforms/ganttview/timeline/custom-timeline to have it do custom ranges, however when I run my copy I get a fully blank header. See attached for images.
My setting the custom behavior:
radGanttView1.GanttViewElement.GraphicalViewElement.TimelineStart = start; // Start is a DateTimeradGanttView1.GanttViewElement.GraphicalViewElement.TimelineEnd = end; // End is a DateTimeradGanttView1.GanttViewElement.GraphicalViewElement.OnePixelTime = TimeSpan.FromMinutes(0.0025);radGanttView1.GanttViewElement.GraphicalViewElement.TimelineRange = TimeRange.Custom;var behavior = new WarehouseTimelineBehavior { Start = start, End = end };radGanttView1.GanttViewElement.GraphicalViewElement.TimelineBehavior = behavior;And my Behavior class:
001.using System;002.using System.Collections.Generic;003.using Telerik.WinControls.UI;004. 005.namespace WarehouseBuilder.LogViewer006.{007. public class WarehouseTimelineBehavior : BaseGanttViewTimelineBehavior008. {009. public DateTime Start = DateTime.MinValue;010. public DateTime End = DateTime.MaxValue;011. 012. public override DateTime AdjustedTimelineStart013. {014. get015. {016. if (GraphicalViewElement.TimelineRange != TimeRange.Custom || Start == DateTime.MinValue)017. {018. return base.AdjustedTimelineStart;019. }020. return Start;021. }022. }023. 024. public override DateTime AdjustedTimelineEnd025. {026. get027. {028. if (GraphicalViewElement.TimelineRange != TimeRange.Custom || End == DateTime.MaxValue)029. {030. return base.AdjustedTimelineEnd;031. }032. return End;033. }034. }035. 036. public override IList<GanttViewTimelineDataItem> BuildTimelineDataItems(TimeRange range)037. {038. if (range != TimeRange.Custom)039. {040. return base.BuildTimelineDataItems(range);041. }042. return this.BuildTimelineDataItemsForDecadesRange();043. }044. 045. public IList<GanttViewTimelineDataItem> BuildTimelineDataItemsForDecadesRange()046. {047. List<GanttViewTimelineDataItem> result = new List<GanttViewTimelineDataItem>();048. DateTime currentDate = AdjustedTimelineStart;049. int currentMinuteNumber = currentDate.Minute;050. int newMinuteNumber = currentMinuteNumber;051. 052. GanttViewTimelineDataItem item = new GanttViewTimelineDataItem(currentDate, currentDate.AddMinutes(5), GraphicalViewElement.TimelineRange, GraphicalViewElement.OnePixelTime);053. 054. result.Add(item);055. 056. while (currentDate < AdjustedTimelineEnd)057. {058. item.End = currentDate.AddMinutes(5);059. currentDate = currentDate.AddMinutes(5);060. newMinuteNumber = currentDate.Minute;061. 062. if (newMinuteNumber != currentMinuteNumber && currentDate <= AdjustedTimelineEnd)063. {064. currentMinuteNumber = newMinuteNumber;065. item = new GanttViewTimelineDataItem(currentDate, currentDate, GraphicalViewElement.TimelineRange, GraphicalViewElement.OnePixelTime);066. result.Add(item);067. }068. }069. 070. return result;071. }072. 073. public override GanttTimelineCellsInfo GetTimelineCellInfoForItem(GanttViewTimelineDataItem item, TimeRange timeRange)074. {075. if (timeRange != TimeRange.Custom)076. {077. return base.GetTimelineCellInfoForItem(item, timeRange);078. }079. 080. return GetTimelineCellInfoForDecadeRange(item);081. }082. 083. public GanttTimelineCellsInfo GetTimelineCellInfoForDecadeRange(GanttViewTimelineDataItem item)084. {085. int minutes = 5;086. 087. if (item.Start == AdjustedTimelineStart)088. {089. if (item.Start.Minute % 5 > 0)090. {091. minutes = 10 - (item.Start.Minute % 5);092. }093. }094. 095. if (item.End == AdjustedTimelineEnd)096. {097. if (item.End.Minute % 5 > 0)098. {099. minutes = item.End.Minute % 5;100. }101. }102. 103. return new GanttTimelineCellsInfo(minutes);104. }105. 106. public override string GetTimelineTopElementText(GanttViewTimelineDataItem item)107. {108. if (item.Range != TimeRange.Custom)109. {110. return base.GetTimelineTopElementText(item);111. }112. 113. string format = "{0} - {1}";114. 115. return string.Format(System.Threading.Thread.CurrentThread.CurrentUICulture, format, item.Start, item.End);116. }117. 118. public override string GetTimelineBottomElementText(GanttViewTimelineDataItem item, int index)119. {120. if (item.Range != TimeRange.Custom)121. {122. return base.GetTimelineBottomElementText(item, index);123. }124. 125. string format = "{0:hh:mm}";126. 127. return string.Format(System.Threading.Thread.CurrentThread.CurrentCulture, format, new DateTime(item.Start.Minute + index, 1, 1));128. }129. }130.}

Hey guys, I'm trying to add a QuickStart(TextBox with Autocomplete) to the Title Bar, like visual studio 2017. I've tried adding a RadTextBoxElement, but I couldn't even enter text on it, any help? But of course I wanna it beatiful, like Visual Studio, changing border colors and back color. I've attached how it is on VS and how it is on mine.
The button is a RadButtonElement.
Hello Telerik Team !
I currently try to achieve something similar to the attached picture.
Maybe I took the wrong direction, by using a MaskedEditBox with a DateTime MaskType, I am trying to add an adjacent button picture to open a calendar, and also a drop down button with several standard choice.
By editing UI Elements I notice the presence of a StackLayoutPanel with LightVisualButtonElement, I put both Visibility to Visible and add a little calendar icon image.
I can see It on Visual Studio, but the icon does not appear when I launch the program, and also I don't have any idea what kind of event I need to add if I succeed in showing the icon to open a calendar control to select my date.
So maybe I took a wrong direction by using this controls ?
Any help or suggestion would be highly welcome
Thanks in adavnce
Jeff
