Hallo!
Ich bringe es nicht hin, dass der Dialog so aussieht wie ich es will, d.h.
dass ich nicht jedes Mal die Größe anpassen muss.
Geht das nicht oder habe ich einen Fehler im Code?
Anbei soll- und ist- screenshot...
Hier der Code:
void EditDatabaseEntry() {
//PartPackage, PartHeadline, PartDescription, PackageDescription,
PartFullDescription
// sort(NumParts, Index, PartKey, PartValue, PartDevice, PartName,
PartAttributes);
if (Selected) {
int zeilennr = zeile[Selected]; // index of selected unsorted
array, e.g. for PackageDescription
string Header[];
string Data[];
int Fields = strsplit(Header, Lines[0], DatabaseSeparator);
strsplit(Data, Lines[Selected], DatabaseSeparator);
int result = dlgDialog("Edit Component") {
dlgGridLayout {
dlgCell(0, 0) {
dlgGridLayout {
for (int f = 0; f < Fields; f++) {
dlgCell(f, 0) dlgLabel(Header[f]);
dlgCell(f, 1) if (f) { dlgStringEdit(Data[f]);
} else { dlgLabel(Data[f]); };
}
}
}
dlgCell(0, 1) {
dlgGridLayout {
dlgCell(0, 2) dlgLabel("Package Description");
dlgCell(1, 2)
dlgTextView(PackageDescription[zeilennr]);
dlgCell(2, 2) dlgLabel("Device Description ");
dlgCell(3, 2)
dlgTextView(PartFullDescription[zeilennr]);
}
}
}
dlgHBoxLayout {
dlgStretch(1);
dlgPushButton("+OK") dlgAccept();
dlgPushButton("-Cancel") dlgReject();
}
};
if (result) {
for (int f = 0; f < Fields; f++)
Data[f] = StripWhiteSpace(Data[f]);
Lines[Selected] = strjoin(Data, DatabaseSeparator);
DatabaseModified = 1;
}
}
else
dlgMessageBox("Please select a list entry first!");
}
Danke,
Zoran