How to add a new record in specific DetailsViewDataGrid ?
You can add new records to DetailsViewDataGrid by adding items to underlying collection like you are doing for SfDataGrid.
In the below use case, new records will be added in selected DetailsViewDataGrid and SelectedItem record’s DetailsViewDataGrid.
In the below code snippet, Button bound to command in ViewModel to add new records to SelectedItem’s DetailsViewDataGrid.
XAML
<Syncfusion:SfDataGrid x:Name="datagrid" Grid.Column="0" AllowEditing="True" AutoGenerateRelations="True" ItemsSource="{Binding OrderInfoCollection}" LiveDataUpdateMode="AllowDataShaping" NavigationMode="Cell" /> <Button Grid.Column="1" Width="150" Height="50" VerticalAlignment="Top" Command="{Binding Path=RowDataCommand}" CommandParameter="{Binding ElementName=datagrid, Path=SelectedItem}" Content="AddNewRecord" />
C#
public class ViewModel { . . . . . private ICommand rowDataCommand { get; set; } public ICommand RowDataCommand { get { return rowDataCommand; } set { rowDataCommand = value; } } public void AddNewRecord(object obj) { var customerDetails = obj as OrderInfo; if (customerDetails != null) { var index = orderCollection.IndexOf(customerDetails); if (customerDetails.ProductDetails == null) { customerDetails.ProductDetails = new ObservableCollection<ProductInfo>(); customerDetails.ProductDetails.Add(new ProductInfo() { OrderID = 1002, ProductName = "HeadSet", ProductID = "ERTY" }); } else customerDetails.ProductDetails.Insert(0, new ProductInfo() { OrderID = 1002, ProductName = "KeyBoard", ProductID = "AZYP" }); } } }
Figure 1: Before adding new record in DetailsViewDataGrid
Figure 2: Added new data records in DetailsViewDataGrid
Sample Links: