hi,
I have a dataset object which contains 2 datatable (relation). How do i bind this dataset to the radgridview with allowing to insert a new row on both parent and child grid?
thanks
So far this is the code
I have a dataset object which contains 2 datatable (relation). How do i bind this dataset to the radgridview with allowing to insert a new row on both parent and child grid?
thanks
So far this is the code
using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Windows;using System.Windows.Controls;using System.Windows.Data;using System.Windows.Documents;using System.Windows.Input;using System.Windows.Media;using System.Windows.Media.Imaging;using System.Windows.Shapes;using System.Collections.ObjectModel;using System.Data;namespace WpfApplication8{ /// <summary> /// Interaction logic for Window3.xaml /// </summary> public partial class Window3 : Window { public Window3() { InitializeComponent(); this.DataContext = this; //RadGridView1.DataMember = CarsSet.Tables["Car"].TableName; } public DataSet CarsSet { get { DataSet carSet = new DataSet(); DataTable car = new DataTable("Car"); DataTable comp = new DataTable("Complaint"); DataColumn col = new DataColumn("AllWheelDrive"); car.Columns.Add(col); col = new DataColumn("Doors"); car.Columns.Add(col); col = new DataColumn("Make"); car.Columns.Add(col); col = new DataColumn("Model"); car.Columns.Add(col); col = new DataColumn("ModelYear"); car.Columns.Add(col); col = new DataColumn("Doors"); comp.Columns.Add(col); col = new DataColumn("DateOfComplaint"); comp.Columns.Add(col); col = new DataColumn("Complaint"); comp.Columns.Add(col); col = new DataColumn("Resolved"); comp.Columns.Add(col); DataRow row = car.NewRow(); row["Doors"] = "test1"; row["Make"] = "test2"; row["Model"] = "test3"; row["ModelYear"] = "test4"; car.Rows.Add(row); row = comp.NewRow(); row["Doors"] = "test1"; row["DateOfComplaint"] = "test4"; row["Complaint"] = "test2"; row["Resolved"] = "test3"; comp.Rows.Add(row); carSet.Tables.Add(car); carSet.Tables.Add(comp); carSet.Relations.Add(new DataRelation("link", carSet.Tables["Car"].Columns["Doors"], carSet.Tables["Complaint"].Columns["Doors"])); return carSet; } } }}
<Window xmlns:telerik="http://schemas.telerik.com/2008/xaml/presentation" x:Class="WpfApplication8.Window3" Title="Window3" Height="300" Width="600"> <Grid> <telerik:RadGridView x:Name="RadGridView1" CanUserFreezeColumns="False" GridLinesVisibility="Horizontal" ShowInsertRow="true" DataMember="Car" ItemsSource="{Binding CarsSet}" AutoGenerateColumns="False"> <telerik:RadGridView.ChildTableDefinitions> <telerik:GridViewTableDefinition /> </telerik:RadGridView.ChildTableDefinitions> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding AllWheelDrive}" Header="Order Date" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Doors}" Header="Employee" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Make}" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Model}" Header="Ship Country" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding ModelYear}" Header="Ship City" /> </telerik:RadGridView.Columns> <telerik:RadGridView.HierarchyChildTemplate> <DataTemplate> <telerik:RadGridView x:Name="RadGridView1" DataMember="Complaint" CanUserFreezeColumns="False" ShowInsertRow="true" CanUserInsertRows="True" AutoGenerateColumns="False" ItemsSource="{Binding Complaint}" ShowGroupPanel="False"> <telerik:RadGridView.Columns> <telerik:GridViewDataColumn DataMemberBinding="{Binding DateOfComplaint}" Header="Product ID" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Complaint}" Header="Unit Price" /> <telerik:GridViewDataColumn DataMemberBinding="{Binding Resolved}" Header="Quantity" /> </telerik:RadGridView.Columns> </telerik:RadGridView> </DataTemplate> </telerik:RadGridView.HierarchyChildTemplate> </telerik:RadGridView> </Grid></Window>