primus:callafterchange
Inhaltsverzeichnis
callafterchange
callafterchange ist ein Attribut eines Datenblatt Feldes. Ändert sich der Feldinhalt dann wird eine im Attribut hinterlegte Addinmethode aufgerufen.
Beispiel
<StkVP ctrltype="textbox" data="StkVP" label="VP/Stk. €" type="Text" mode="W" left="88" top="220" width="61" height="20" labelposleft="15" multisel="1" callafterchange="CustomAddIn.progrDeckungsbeitragFeldUpdate" />
Beispiel für das Addin
public void progrDeckungsbeitragFeldUpdate(object oControl, DataGridViewRow oRow, string oParams) { if (oControl is TextBox) { TextBox oTB = (TextBox)oControl; if (oTB.Tag is PrimGUIDataField) { PrimGUIDataField oPrimGUIDataField = (PrimGUIDataField)oTB.Tag; string sFilePath = (string)oRow.Tag; if (!File.Exists(sFilePath)) return; IDictionary<string, string> oDataDict = PrimData.ReadDataXML(sFilePath + ".xml"); if (oDataDict != null) { string sEPValue, sValue; if (oDataDict.TryGetValue("StkEPAuftr", out sEPValue) && sEPValue.Length > 0 && oDataDict.TryGetValue(oPrimGUIDataField.sField, out sValue) && sValue.Length > 0) { decimal dEPValue, dValue; try { dEPValue = Convert.ToDecimal(sEPValue); dValue = Convert.ToDecimal(sValue); } catch { return; } bool bWriteData = true; if (oPrimGUIDataField.sField == "StkVP") { decimal dDeckungsbEUR = dValue - dEPValue; oDataDict["DeckungsbEUR"] = dDeckungsbEUR.ToString("F2"); oDataDict["DeckungsbProz"] = (dDeckungsbEUR / (dEPValue / 100)).ToString("F1"); } else bWriteData = false; if (bWriteData) { string sRetMsg; PrimData.WriteDataXML(oPrimData.oActivePrimProject, oPrimData.oActivePrimFolder.sCFGPath, sFilePath + ".xml", oDataDict, "XML_Position", true, out sRetMsg); oPrimData.UpdateListViewRow(oRow.DataGridView, oRow, true); } } } } } }
Siehe auch
primus/callafterchange.txt · Zuletzt geändert: von mgras
