1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118
| private void mouvement_detailTableView_ShowingEditor(object sender, ShowingEditorEventArgs e)
{
if (e.Row != null)
{
switch (e.Column.FieldName)
{
case "MDT_PRIX":
var l = new LookUpEditSettings()
{
ValueMember = "MtPrix",
DisplayMember = "MtPrix",
ItemsSource = ((mouvement_detail)e.Row).ListePrix,
AllowNullInput = true,
NullText = string.Empty,
PopupMaxHeight = 110,
IsPopupAutoWidth = false,
ImmediatePopup = true,
AutoComplete = true,
IncrementalFiltering = true,
Name = "PART_Editor"
};
break;
case "MDT_LOT":
mouvement_detailGridControl.Columns["MDT_LOT"].EditSettings = new LookUpEditSettings
{
ValueMember = "NomLot",
DisplayMember = "NomLot",
ItemsSource = ((mouvement_detail)e.Row).ListeLots,
AllowNullInput = true,
NullText = string.Empty,
PopupMaxHeight = 200,
IsPopupAutoWidth = false,
ImmediatePopup = true,AutoComplete = true,
IncrementalFiltering = true,
Name = "PART_Editor"
};
break;
}
}
}
private void mouvement_detailTableView_ShownEditor(object sender, EditorEventArgs e)
{
TableView view;
LookUpEdit Edit;
switch (e.Column.FieldName)
{
case "MDT_PRIX":
view = sender as TableView;
Edit = view.ActiveEditor as LookUpEdit;
if ((string)Edit.Tag == "ProcessNewValueHandlerAssigned") return;
Edit.ProcessNewValue += new ProcessNewValueEventHandler(MDT_PRIX_ProcessNewValue);
Edit.Tag = "ProcessNewValueHandlerAssigned";
break;
case "MDT_LOT":
view = sender as TableView;
Edit = view.ActiveEditor as LookUpEdit;
if ((string)Edit.Tag == "ProcessNewValueHandlerAssigned") return;
Edit.ProcessNewValue += new ProcessNewValueEventHandler(MDT_LOT_ProcessNewValue);
Edit.Tag = "ProcessNewValueHandlerAssigned";
break;
}
}
private void mouvement_detailTableView_HiddenEditor(object sender, EditorEventArgs e)
{
//return;
switch (e.Column.FieldName)
{
case "MDT_PRIX":
mouvement_detailGridControl.Columns["MDT_PRIX"].EditSettings = null;
break;
case "MDT_LOT":
mouvement_detailGridControl.Columns["MDT_LOT"].EditSettings = null;
using (Entities ctx = new Entities())
{
var id = (e.Row as mouvement_detail).ART_ID;
var lot = (e.Row as mouvement_detail).MDT_LOT;
var o = ctx.mouvement_detail.Where(a => a.ART_ID == id && a.MDT_LOT == lot && a.MDT_DLC_LOT != null).FirstOrDefault();
if (o != null)
{
(e.Row as mouvement_detail).MDT_DLC_LOT = o.MDT_DLC_LOT;
}
else
{
(e.Row as mouvement_detail).MDT_DLC_LOT = DateTime.Today;
}
}
break;
}
}
private void MDT_PRIX_ProcessNewValue(DependencyObject sender, ProcessNewValueEventArgs e)
{
var x = ((LookUpEdit)e.Source).ItemsSource;
(x as IList<mouvement_detail.Prix>).Add(
new mouvement_detail.Prix()
{
NomPrix = "Nouvelle Valeure",
MtPrix = Convert.ToDecimal(e.DisplayText)
}
);
e.Handled = true;
}
private void MDT_LOT_ProcessNewValue(DependencyObject sender, ProcessNewValueEventArgs e)
{
var x = ((LookUpEdit)e.Source).ItemsSource;
(x as IList<mouvement_detail.Lot>).Add(
new mouvement_detail.Lot()
{
NomLot = e.DisplayText,
DateLot = DateTime.Today
}
);
e.Handled = true;
} |
Partager