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
>