<
UserControl
xmlns:telerik
=
"http://schemas.telerik.com/2008/xaml/presentation"
x:Class
=
"MiexProto.Views.EmployeeFormView"
mc:Ignorable
=
"d"
x:Name
=
"me"
d:DesignHeight
=
"300"
d:DesignWidth
=
"300"
>
<
UserControl.Resources
>
<
DataTemplate
x:Key
=
"EmployeeTemplate"
>
<
Grid
>
<
Grid.ColumnDefinitions
>
<
ColumnDefinition
/>
<
ColumnDefinition
/>
<
ColumnDefinition
/>
</
Grid.ColumnDefinitions
>
<
Grid.RowDefinitions
>
<
RowDefinition
/>
<
RowDefinition
/>
<
RowDefinition
/>
</
Grid.RowDefinitions
>
<
StackPanel
Orientation
=
"Horizontal"
Grid.Row
=
"0"
Grid.Column
=
"0"
>
<
Label
Content
=
"Anrede"
/>
<
telerik:DataFormComboBoxField
Height
=
"auto"
DataMemberBinding
=
"{Binding AnredeId, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True}"
SelectedValuePath
=
"AnredeId"
DisplayMemberPath
=
"Bezeichnung"
ItemsSource
=
"{Binding ElementName=me, Path=DataContext.ListAnrede}"
/>
</
StackPanel
>
<
StackPanel
Orientation
=
"Horizontal"
Grid.Row
=
"0"
Grid.Column
=
"1"
>
<
Label
Content
=
"Titel"
/>
<
telerik:DataFormComboBoxField
Height
=
"Auto"
DataMemberBinding
=
"{Binding Titel.Bezeichnung, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True}"
DisplayMemberPath
=
"Bezeichnung"
ItemsSource
=
"{Binding ElementName=me, Path=DataContext.ListTitel}"
/>
</
StackPanel
>
<
telerik:DataFormCheckBoxField
Grid.Row
=
"0"
Grid.Column
=
"2"
Label
=
"Deaktiviert"
DataMemberBinding
=
"{Binding Deaktiviert, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True}"
/>
<
telerik:DataFormDataField
Grid.Row
=
"1"
Grid.Column
=
"0"
Label
=
"Nachname"
DataMemberBinding
=
"{Binding Nachname, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True}"
/>
<
telerik:DataFormDataField
Grid.Row
=
"1"
Grid.Column
=
"1"
Label
=
"Vorname"
DataMemberBinding
=
"{Binding Vorname, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True}"
/>
<
telerik:DataFormDataField
Grid.Row
=
"2"
Grid.Column
=
"0"
Label
=
"Durchwahl"
DataMemberBinding
=
"{Binding Durchwahl, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True}"
/>
<
telerik:DataFormDataField
Grid.Row
=
"2"
Grid.Column
=
"1"
Label
=
"Mobilnummer"
DataMemberBinding
=
"{Binding Mobilnummer, UpdateSourceTrigger=PropertyChanged, Mode=TwoWay, NotifyOnValidationError=True, ValidatesOnExceptions=True, ValidatesOnDataErrors=True}"
/>
</
Grid
>
</
DataTemplate
>
</
UserControl.Resources
>
<
Grid
>
<
telerik:RadDataForm
CurrentItem
=
"{Binding Employee}"
Header
=
"{Binding Employee.Nachname}"
AutoEdit
=
"True"
CommandButtonsVisibility
=
"None"
EditTemplate
=
"{StaticResource EmployeeTemplate}"
AutoGenerateFields
=
"False"
/>
</
Grid
>
</
UserControl
>
namespace
Entities
{
using
System;
using
System.Collections.Generic;
using
System.ComponentModel.DataAnnotations;
public
partial
class
Mitarbeiter
{
public
Mitarbeiter()
{
this
.Veranstaltungsanmeldung =
new
HashSet<Veranstaltungsanmeldung>();
this
.Zustaendigkeit =
new
HashSet<Zustaendigkeit>();
}
public
int
MitarbeiterId {
get
;
set
; }
public
int
KundeId {
get
;
set
; }
public
int
AnredeId {
get
;
set
; }
public
int
TitelId {
get
;
set
; }
public
string
Vorname {
get
;
set
; }
public
string
Nachname {
get
;
set
; }
public
string
Durchwahl {
get
;
set
; }
public
string
Email {
get
;
set
; }
[Required(AllowEmptyStrings =
false
, ErrorMessage =
"Es muss eine Handynummer angegeben werden!"
)]
[Display(Name =
"Kunde"
)]
[RegularExpression(
"^\\+(\\d+)\\s\\((\\d+)\\)\\s(\\d+)(\\s-\\s(\\d+))?"
, ErrorMessage =
"Die Telefonnummer muss im Format +43 (XXX) XXXXX - XX sein"
)]
public
string
Mobilnummer {
get
;
set
; }
public
bool
Deaktiviert {
get
;
set
; }
public
string
Bild {
get
;
set
; }
public
System.DateTime UpdateDatum {
get
;
set
; }
public
string
UpdateBenutzer {
get
;
set
; }
public
virtual
Anrede Anrede {
get
;
set
; }
public
virtual
Kunde Kunde {
get
;
set
; }
public
virtual
Titel Titel {
get
;
set
; }
public
virtual
ICollection<Veranstaltungsanmeldung> Veranstaltungsanmeldung {
get
;
set
; }
public
virtual
ICollection<Zustaendigkeit> Zustaendigkeit {
get
;
set
; }
}
}
Hi Support
We implement IDataErrorInfo for our Data, when we enter invalid data in edit mode it shows red box but when we update it to old data it doesn't change and still shows invalid data and error message and let us pass the cell.
We don't use cell validation and we use MVVM pattern.
thanks in advance,
Mehri
public partial class DataDictionary : IDataErrorInfo
{
#region IDataErrorInfo Members
public string Error
{
get
{
return null;
}
}
public string this[string columnName]
{
get
{
if (columnName == "Name")
{
if (Name == null || Name == string.Empty)
return "Name cannot be null or empty";
}
else if (columnName == "Code")
{
if (Code == 0)
return "Code Cannot be zero";
}
return "";
}
}
#endregion
}
//****************
<telerik:RadGridView ItemsSource="{Binding AllDataDictionary}"
SelectedItem="{Binding SelectedDataDictionary}"
HorizontalAlignment="Left" Margin="3,28,0,47"
Name="radGrid" ShowGroupPanel="False" Width="Auto"
AutoGenerateColumns="False"
ShowInsertRow="True" CanUserDeleteRows="False"
IsSynchronizedWithCurrentItem="True"
RowHeight="25" Height="405" >
<telerik:RadGridView.Columns>
<telerik:GridViewDataColumn Header="Code" Width="70" DataMemberBinding="{Binding Code}"
ValidatesOnDataErrors="Default" />
<telerik:GridViewDataColumn Header="Name" Width="*" DataMemberBinding="{Binding Name}"
ValidatesOnDataErrors="Default" />
</telerik:RadGridView.Columns>
</telerik:RadGridView>
Hello
Is there option to span the header of the grid on two columns?
Best regards
Ehud