How to create and open a new record object in EditForm based on existing row object?
Answer:
<SfGrid @ref="grid" DataSource="@Orders" Toolbar="@(new List<string>() { "Add","Edit","Delete","Update","Cancel"})" ContextMenuItems="@(new List .. <GridEvents RowSelected="RowSelectHandler" ContextMenuItemClicked="ContextMenuItemClickedHandler" TValue="Order">GridEvents> <GridColumns> <GridColumn Field=@nameof(Order.OrderID) DefaultValue="OrderIDDefaultValue" HeaderText="Order ID" IsPrimaryKey="true" TextAlign="TextAlign.Right" Width="120">GridColumn> <GridColumn Field=@nameof(Order.CustomerID) DefaultValue="CustomerIDDefaultValue" HeaderText="Customer Name" Width="150">GridColumn> .. .. GridColumns> SfGrid>
@code{ public List
SfGrid
public int OrderIDDefaultValue { get; set; } public string CustomerIDDefaultValue { get; set; } public DateTime? OrderDateDefaultValue { get; set; } public double? FreightDefaultValue { get; set; }
public async Task ContextMenuItemClickedHandler(ContextMenuClickEventArgs { if (args.Item.Id == "copyasnewitem") { Order toBeCopied = (await this.grid.GetSelectedRecords()).FirstOrDefault(); if (toBeCopied != null) { await this.grid.AddRecord(); } } }
public void RowSelectHandler(RowSelectEventArgs { int newOrderId = grid.TotalItemCount + 1; OrderIDDefaultValue = grid.TotalItemCount + 1; CustomerIDDefaultValue = args.Data.CustomerID; OrderDateDefaultValue = args.Data.OrderDate; FreightDefaultValue = args.Data.Freight; } } |
You can get the sample for creating a copy of existing object in EditForm from here.
- 0 Reply
- 1 Participant
-
SS Syncfusion Support
- Jan 9, 2021 04:31 PM UTC
- Jul 14, 2021 11:48 AM UTC