UserDatasource nimmt value nicht an

Manuel Marhold

Hi..
Ich habe folgenden Code:

string sCardCode = e.Form.SystemDataSources["OCRD"].GetValue("CardCode", 0).Trim();
string sCardName = e.Form.SystemDataSources["OCRD"].GetValue("CardName", 0).Trim();
string sMenge = "5";
Form oForm = null;
oForm = Form.CreateNewForm("SCForm", "SCForm");
oForm.Value = "SoftChip Form";
oForm.BorderStyle = Form.FormBorderStyle.Fixed;
UserDatasource oUDsGPCode = UserDatasource.CreateNew("GPCode");
oUDsGPCode.DataSourceType = UserDatasource.DataType.ShortText;
oUDsGPCode.Length = 15;
oUDsGPCode.Value = sCardCode;
oForm.AddUserDatasource(oUDsGPCode);
UserDatasource oUDsGPName = UserDatasource.CreateNew("GPName");
oUDsGPName.DataSourceType = UserDatasource.DataType.ShortText;
oUDsGPName.Length = 100;
oUDsGPName.Value = sCardName;
oForm.AddUserDatasource(oUDsGPName);
UserDatasource oUDsMenge = UserDatasource.CreateNew("Menge");
oUDsMenge.DataSourceType = UserDatasource.DataType.Quantity;
oUDsMenge.Value = sMenge;
oForm.AddUserDatasource(oUDsMenge);
oForm.Load();

Das laden des Formulars geht, allerdings schreibt er nur die value von "oUDsMenge" in das Formular. Ich habe auch schon probiert den Wert von "oUDsGPCode" manuell zu setzten.
EDIT:
es funktioniert mit:
man kann Datasources vom typ Text erst nach dem Laden des Formulars setzen!!!!
wird das noch geändert?


EDIT:

muss mann überhaupt noch datesources hinterlegen? wenn ich die Werte als "value" des TextEdit übergebe, zeigt der mir das auch an.

Marco Schweighauser

Hallo Manuel,

du kannst auch das Value Property des Textfeldes ohne Datasource verwenden. Jedoch kommt es dann bei vielen Textfeldern zu grösseren Performance Problemen.

Ob der Wert einer DS kann erst nach dem Laden des Forms gesetzt werden, hängt von den Möglichkeiten des XML BatchLoad Funktionalität von SAP B1 ab welche vom Framework verwendet wird.

Am besten setzt du diesen nach dem frm.Load.


Gruss

Marco

Manuel Marhold

Hi Marco,

das mache ich jetzt, allerdings wird das Formular dann leer angezeigt und dann erst gefüllt.

hier hilft das Formular mit visible=false zu laden und nach dem Daten laden visible auf true zu setzen.
0

Comments

0 comments

Please sign in to leave a comment.

Didn't find what you were looking for?

New post