Hey there!
I get insert, delete and Edit to work
But when i insert one row, delete gets disabled and insert row aswell.
<Window x:Class=
"Administration.Window1"
xmlns:telerik=
"http://schemas.telerik.com/2008/xaml/presentation"
xmlns:telerikGrid=
"clr-namespace:Telerik.Windows.Controls;assembly=Telerik.Windows.Controls.GridView"
xmlns:telerikQuickStart=
"clr-namespace:Telerik.Windows.Controls.QuickStart;assembly=Telerik.Windows.Controls"
mc:Ignorable=
"d"
xmlns:d=
"http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc=
"http://schemas.openxmlformats.org/markup-compatibility/2006"
d:DesignWidth=
"833"
SizeToContent=
"WidthAndHeight"
d:DesignHeight=
"567"
>
<Grid Height=
"528"
Width=
"815"
>
<Border telerikQuickStart:ThemeAwareBackgroundBehavior.IsEnabled=
"True"
Margin=
"0,81,-2,15"
/>
<StackPanel Orientation=
"Horizontal"
Margin=
"102,0,98,456"
Height=
"22.301"
VerticalAlignment=
"Bottom"
HorizontalAlignment=
"Center"
>
<telerik:RadButton Width=
"150"
Content=
"Delete selected rows"
Margin=
"0,0,5,0"
Command=
"telerikGrid:RadGridViewCommands.Delete"
CommandTarget=
"{Binding ElementName=RadGridView1}"
VerticalAlignment=
"Top"
/>
<telerik:RadButton Width=
"150"
Content=
"Add new row"
Margin=
"0,0,5,0"
Command=
"telerikGrid:RadGridViewCommands.BeginInsert"
CommandTarget=
"{Binding ElementName=RadGridView1}"
VerticalAlignment=
"Top"
/>
<telerik:RadButton Width=
"150"
Content=
"Save insert/edit"
Margin=
"0,0,5,0"
Command=
"telerikGrid:RadGridViewCommands.CommitEdit"
CommandTarget=
"{Binding ElementName=RadGridView1}"
Height=
"Auto"
VerticalContentAlignment=
"Center"
VerticalAlignment=
"Top"
/>
<telerik:RadButton Width=
"150"
Content=
"Cancel insert/edit"
Command=
"telerikGrid:RadGridViewCommands.CancelRowEdit"
CommandTarget=
"{Binding ElementName=RadGridView1}"
VerticalAlignment=
"Top"
/>
</StackPanel>
<telerik:RadGridView x:Name=
"RadGridView1"
ItemsSource=
"{Binding}"
CanUserInsertRows=
"True"
CanUserDeleteRows=
"True"
ActionOnLostFocus=
"CommitEdit"
RowEditEnded=
"PricingGrid_RowEditEnded"
Margin=
"0,81,0,0"
>
<telerik:RadGridView.RowStyle>
<Style TargetType=
"telerik:GridViewRow"
>
<Setter Property=
"MinHeight"
Value=
"40"
/>
</Style>
</telerik:RadGridView.RowStyle>
<telerik:RadGridView.Columns>
<telerik:GridViewColumn>
<telerik:GridViewColumn.CellTemplate>
<DataTemplate>
<telerik:RadButton Content=
"Delete"
Command=
"telerikGrid:RadGridViewCommands.Delete"
CommandParameter=
"{Binding}"
/>
</DataTemplate>
</telerik:GridViewColumn.CellTemplate>
</telerik:GridViewColumn>
<telerik:GridViewToggleRowDetailsColumn />
</telerik:RadGridView.Columns>
<telerik:RadGridView.RowDetailsTemplate>
<DataTemplate>
<telerik:RadTabControl BackgroundVisibility=
"Collapsed"
x:Name=
"RadTabControl1"
Margin=
"10"
VerticalAlignment=
"Center"
Background=
"Transparent"
>
<telerik:RadTabItem Header=
"Description"
DataContext=
"{Binding}"
Margin=
"10,0,0,0"
Height=
"24"
Foreground=
"Black"
>
<Grid Width=
"Auto"
HorizontalAlignment=
"Stretch"
>
<Grid.RowDefinitions>
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition />
<RowDefinition Height=
"15"
/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=
"Auto"
/>
<ColumnDefinition Width=
"Auto"
/>
<ColumnDefinition Width=
"Auto"
/>
</Grid.ColumnDefinitions>
<TextBlock Text=
"Description: "
Margin=
"5,10,0,0"
FontWeight=
"Bold"
Grid.Row=
"0"
Grid.Column=
"1"
/>
<TextBlock Text=
"{Binding strDescription}"
Margin=
"5,10,0,0"
Grid.Row=
"0"
Grid.Column=
"2"
/>
<!--<TextBlock Text=
"Country: "
Margin=
"5,0,0,0"
FontWeight=
"Bold"
Grid.Row=
"1"
Grid.Column=
"1"
/>
<TextBlock Text=
"{Binding nCountry}"
Margin=
"5,0,0,0"
Grid.Row=
"1"
Grid.Column=
"2"
/>-->
</Grid>
</telerik:RadTabItem>
</telerik:RadTabControl>
</DataTemplate>
</telerik:RadGridView.RowDetailsTemplate>
</telerik:RadGridView>
<StackPanel Height=
"46.14"
Margin=
"0"
Name=
"stackPanel1"
VerticalAlignment=
"Top"
Orientation=
"Horizontal"
HorizontalAlignment=
"Center"
>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
Artiklar
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
Priser
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
ETC
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
ETC
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
OSV
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
OSV
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
Artiklar
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
Priser
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
HorizontalAlignment=
"Center"
>
OSV
</telerik:RadButton>
<telerik:RadButton Height=
"45.371"
Width=
"61.52"
ClickMode=
"Release"
ClipToBounds=
"False"
HorizontalAlignment=
"Center"
>
ETC
</telerik:RadButton>
</StackPanel>
</Grid>
</Window>
using
System;
using
System.Collections.Generic;
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
Telerik.Windows.Data;
using
System.Collections.ObjectModel;
using
System.ComponentModel;
using
System.Collections;
using
Telerik.Windows.Controls;
using
Telerik.Windows.Controls.GridView;
using
System.Linq;
using
System.Globalization;
using
Telerik.Windows.Controls.Charting;
namespace
Administration
{
/// <summary>
/// Interaction logic for Window1.xaml
/// </summary>
public
partial
class
Window1 : Window
{
public
CollectionViewSource Source {
get
;
set
; }
public
List<Categories> _EditedCategories;
public
Window1()
{
InitializeComponent();
this
.Source =
new
CollectionViewSource();
_EditedCategories =
new
List<Categories>();
BindData();
}
private
void
BindData()
{
var wcomPosDB =
new
WcomPosProductDataContext();
//var getCats = (from u in wcomPosDB.tblCategories
// join c in wcomPosDB.tblCategoryDescriptions on u.nID equals c.nCategoryID
// select new { ID = u.nID, Description = u.strDescription, Country = c.nCountry }).ToList();
var testCats = from u
in
wcomPosDB.tblCategories
select u;
//select new { ID = u.nID, Description = u.strDescription }).ToList();
var list =
new
ObservableCollection<Categories>();
foreach
(var cat
in
testCats)
{
list.Add(
new
Categories { nID = cat.nID, strDescription = cat.strDescription });
}
Source.Source = list;
this
.DataContext = Source.View;
}
private
void
PricingGrid_RowEditEnded(
object
sender, Telerik.Windows.Controls.GridViewRowEditEndedEventArgs e)
{
if
(e.EditOperationType == Telerik.Windows.Controls.GridView.GridViewEditOperationType.Insert)
{
this
.DataContext = Source.View.OfType<Categories>().OrderBy(c => c.nID);
Source.Source =
this
.DataContext;
RadGridView1.SelectedItem = e.NewData;
RadGridView1.ScrollIntoView(e.NewData);
}
//add edited item to new list, then use this list to update the database..
if
(e.NewData !=
null
)
{
_EditedCategories.Add((Categories)e.NewData);
}
}
public
class
FuncValueConverter : IValueConverter
{
private
readonly
Func<
object
,
object
,
object
> convertFunc;
public
FuncValueConverter(Func<
object
,
object
,
object
> convertFunc)
{
this
.convertFunc = convertFunc;
}
public
object
Convert(
object
value, Type targetType,
object
parameter, CultureInfo culture)
{
return
this
.convertFunc(value, parameter);
}
public
object
ConvertBack(
object
value, Type targetType,
object
parameter, CultureInfo culture)
{
throw
new
NotImplementedException();
}
}
public
class
Categories
{
public
long
nID {
get
;
set
; }
public
string
strDescription {
get
;
set
; }
}
}
}
Im
new
to Telerik, and
this
been bugging me
for
a
while
now.
Hope someone
out
there can help me.
Regards Joachim.