public partial class VacationTypeScreenInp : UserControl { public VacationTypeScreenInp() { InitializeComponent(); } bool isUpdateMode = false; private MilitaryAffairsEntities objContext; VacationType objVacTypeToEdit = null; private void GetVacationTypes() { objContext = new MilitaryAffairsEntities(); var query = from n in objContext.VacationTypes select n; dgVacType.ItemsSource = query.ToList(); } private void VacationTypeScreenInp_OnLoaded(object sender, RoutedEventArgs e) { GetVacationTypes(); lblGridCount.Content = dgVacType.Items.Count; } private void DgVacType_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { objVacTypeToEdit = dgVacType.SelectedItem as VacationType; } private void DgVacType_OnRowEditEnding(object sender, DataGridRowEditEndingEventArgs e) { objContext.SaveChanges(); MessageBox.Show("تم تحديث البيانات بنجاح ..."); } private void DgVacType_OnCellEditEnding(object sender, DataGridCellEditEndingEventArgs e) { if (isUpdateMode) //The Row is edited { VacationType TempVacType = (from vacType in objContext.VacationTypes where vacType.VacationTypeID == objVacTypeToEdit.VacationTypeID select vacType).SingleOrDefault(); if (TempVacType == null) { VacationType employee = new VacationType(); FrameworkElement element_1 = dgVacType.Columns[1].GetCellContent(e.Row); if (element_1.GetType() == typeof(TextBox)) { var yyVacationTypeName = ((TextBox)element_1).Text; employee.VacationTypeName = Convert.ToString(yyVacationTypeName); } objContext.VacationTypes.Add(employee); } else { FrameworkElement element_1 = dgVacType.Columns[1].GetCellContent(e.Row); if (element_1.GetType() == typeof(TextBox)) { var yyVacationTypeName = ((TextBox)element_1).Text; objVacTypeToEdit.VacationTypeName = Convert.ToString(yyVacationTypeName); } MessageBox.Show("updated"); } } } private void BtnUpdate_OnClick(object sender, RoutedEventArgs e) { isUpdateMode = true; dgVacType.Columns[1].IsReadOnly = false; GetVacationTypes(); } private void BtnDelete_OnClick(object sender, RoutedEventArgs e) { if (objVacTypeToEdit == null) { MessageBox.Show("لايمكن حذف بيانات فارغة"); } else { objContext.VacationTypes.Remove(objVacTypeToEdit); objContext.SaveChanges(); GetVacationTypes(); MessageBox.Show("تم حذف هذا الصف ..."); } }
<datagrid autogeneratecolumns="False"> HorizontalAlignment="Left" AlternatingRowremoved="#FFF3F2E2" Height="Auto" Name="dgVacType" VerticalAlignment="Top" MinWidth="450" Margin="8,8,10,8" RowEditEnding="DgVacType_OnRowEditEnding" CellEditEnding="DgVacType_OnCellEditEnding" SelectionChanged="DgVacType_OnSelectionChanged"> <datagrid.columns> <datagridtextcolumn binding="{Binding VacationTypeID}" header="VacationTypeID"> IsReadOnly="True" x:Name="dgrVacationTypeID" > </datagridtextcolumn> <datagridtextcolumn binding="{Binding VacationTypeName}" header="نوع الأجازة"> IsReadOnly="True" x:Name="dgrVacationTypeName" Width="210"> </datagridtextcolumn> <datagridtemplatecolumn> <datagridtemplatecolumn.celltemplate> <datatemplate> <Button Content="تحديث البيانات" x:Name="btnUpdate" Click="BtnUpdate_OnClick" Width="110" BorderBrush="#FF9E0C0C" Background="#FFE3F9FF"></Button> </datatemplate> </datagridtemplatecolumn.celltemplate> </datagridtemplatecolumn> <datagridtemplatecolumn> <datagridtemplatecolumn.celltemplate> <datatemplate> <Button Content="حذف البيانات" x:Name="btnDelete" Click="BtnDelete_OnClick" Width="110" BorderBrush="#FF9E0C0C" Background="#FFE3F9FF"> </Button> </datatemplate> </datagridtemplatecolumn.celltemplate> </datagridtemplatecolumn> </datagrid.columns> </datagrid>
var
This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)