…….
<SfGrid @ref="GridRef" DataSource="@Orders" AllowRowDragAndDrop="true" TValue="AppointmentData">
<GridEditSettings AllowDeleting="true"></GridEditSettings>
<GridRowDropSettings TargetID="Schedueler"></GridRowDropSettings>
<GridEvents TValue="AppointmentData" RowDrop="OnRowDrop"></GridEvents>
<GridColumns>
<GridColumn Field=@nameof(AppointmentData.Id) HeaderText="Order ID" IsPrimaryKey="true" TextAlign="TextAlign.Right" Width="120"></GridColumn>
<GridColumn Field=@nameof(AppointmentData.Subject) HeaderText="Subject" Width="135"></GridColumn>
<GridColumn Field=@nameof(AppointmentData.StartTime) HeaderText="Start Time" Format="d" TextAlign="TextAlign.Right" Width="130"></GridColumn>
<GridColumn Field=@nameof(AppointmentData.EndTime) HeaderText="End Time" Format="d" TextAlign="TextAlign.Right" Width="130"></GridColumn>
</GridColumns>
</SfGrid>
…
private void OnRowDrop(RowDragEventArgs<AppointmentData> args)
{
ScheduleObj.AddEvent(args.Data[0]);
GridRef.DeleteRecord("Id", args.Data[0]);
} |
public async void OnTreeViewDragStop(DragAndDropEventArgs args) { args.Cancel = true; object isScheduleSlot = await args.Target.GetAttribute("role"); if (isScheduleSlot != null && isScheduleSlot.ToString() == "gridcell") { CellClickEventArgs cellData = await ScheduleRef.GetCellDetails(args.Target); var resourceDetails = await ScheduleRef.GetResourcesByIndex(cellData.GroupIndex); GroupData groupData = JsonConvert.DeserializeObject<GroupData>(JsonConvert.SerializeObject(resourceDetails.GroupData)); Random rnd = new Random(); int Id = rnd.Next(1000); ScheduleData.HospitalData eventData = new ScheduleData.HospitalData { Id = Id, Name = args.DraggedNodeData.Text, StartTime = cellData.StartTime, EndTime = cellData.EndTime, IsAllDay = cellData.IsAllDay, ConsultantID = groupData.ConsultantID, DepartmentID = groupData.DepartmentID }; await ScheduleRef.OpenEditor(eventData, CurrentAction.Add, true); } }