using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using Infragistics.Win.UltraWinGrid; namespace UI { public partial class EntryForm : Form { private BLL.DataEntryBLL _BLLDataEntryNotExported = new BLL.DataEntryBLL(false); private BLL.DataEntryBLL _BLLDataEntryExported = new BLL.DataEntryBLL(true); public EntryForm() { InitializeComponent(); this.boxManagementDataEntryDataTableBindingSource.DataSource = _BLLDataEntryNotExported.DAL.Table; } //*********************************************************************************** // Edition dans la grille des éléments non exportés private void ultraGridNouveau_AfterRowInsert(object sender, RowEventArgs e) { DAL.DataItems.BoxManagement_DataEntryRow dataRow = GetDataRow(ultraGridNouveau.ActiveRow); if (dataRow != null) { _BLLDataEntryNotExported.InitRow(dataRow); } } private void ultraGridNouveau_BeforeRowDeactivate(object sender, CancelEventArgs e) { UltraGridRow gridRow = ultraGridNouveau.ActiveRow; DAL.DataItems.BoxManagement_DataEntryRow dataRow = GetDataRow(gridRow); if (dataRow != null) { try { _BLLDataEntryNotExported.ValiderRow(dataRow); } //ne fonctionne pas: le focus ne reste pas catch (ArgumentException ex) { new Erreur("Valeur manquante pour '" + ex.ParamName + "'"); //Placer cette cellule en "Edit mode" //UltraGridCell aCell = gridRow.Cells[ex.ParamName]; //ultraGridNouveau.ActiveCell = aCell; //ultraGridNouveau.PerformAction(UltraGridAction.EnterEditMode, false, false); } catch (Exception ex) // autres erreurs inattendues { e.Cancel = true; new Erreur(ex); } } } private void ultraGridNouveau_BeforeRowUpdate(object sender, CancelableRowEventArgs e) { //DAL.DataItems.BoxManagement_DataEntryRow dataRow = GetDataRow(ultraGridNouveau.ActiveRow); //if (dataRow != null) //{ // try // { // _BLLDataEntryNotExported.ValiderRow(dataRow); // } // //ne fonctionne pas: le focus ne reste pas // //catch (ArgumentException ex) // //{ // // new Erreur("Valeur manquante pour '" + ex.ParamName + "'"); // // //Placer cette cellule en "Edit mode" // // UltraGridCell aCell = e.Row.Cells[ex.ParamName]; // // ultraGridNouveau.ActiveCell = aCell; // // ultraGridNouveau.PerformAction(UltraGridAction.EnterEditMode, false, false); // //} // catch (Exception ex) // autres erreurs inattendues // { // new Erreur(ex); // //e.Cancel = true; //ZUT : Ceci supprime la ligne... :( // } //} } private void ultraGridNouveau_AfterRowUpdate(object sender, RowEventArgs e) { _BLLDataEntryNotExported.DAL.Update(); } private void ultraGridNouveau_BeforeExitEditMode(object sender, Infragistics.Win.UltraWinGrid.BeforeExitEditModeEventArgs e) { if (ultraGridNouveau.ActiveCell == null) return; if (ultraGridNouveau.ActiveCell.Column.Key == _BLLDataEntryNotExported.DAL.Table.MFTColumn.ColumnName) { //Make sure that a value exists if (string.IsNullOrEmpty(ultraGridNouveau.ActiveCell.Text)) return; DAL.DataItems.BoxManagement_DataEntryRow dataRow = GetDataRow(ultraGridNouveau.ActiveRow); if (dataRow != null) { try { _BLLDataEntryNotExported.CompleteMFTData(dataRow, ultraGridNouveau.ActiveCell.Text); } catch (Exception ex) { new Erreur(ex); e.Cancel = true; } } } } private DAL.DataItems.BoxManagement_DataEntryRow GetDataRow(UltraGridRow ugr) { DAL.DataItems.BoxManagement_DataEntryRow dataRow = null; System.Data.DataRowView drv = ultraGridNouveau.ActiveRow.ListObject as System.Data.DataRowView; if (drv != null) dataRow = drv.Row as DAL.DataItems.BoxManagement_DataEntryRow; return dataRow; } private void testButton_Click(object sender, EventArgs e) { DAL.DataEntryDAL dal = new DAL.DataEntryDAL(false); dal.test(); } } }