SmartClient Version: v13.1p_2025-03-21/AllModules Development Only (built 2025-03-21)
Hello, please modify the customBinaryField sample like this:
I've added canEdit: true to the "id" field in formEdit, a "title" field to the same form, and a readOnlyWhen condition to the "file" field in the DynamicForm.
If you enter a new ID, select a file, and press "Upload", you'll notice that after a successful saveData, the callback is not triggered, and a WARN message is logged:
Hello, please modify the customBinaryField sample like this:
Code:
isc.DynamicForm.create({ ID: "formView", width: "100%", dataSource: customBinaryField, fields: [ {name: "id", width: 150, canEdit: false}, {name: "file", canEdit: false} ] }); isc.DynamicForm.create({ ID: "formEdit", width: 100, dataSource: customBinaryField, fields: [ {name: "id", width: 150, required: true, canEdit: true}, {name: "title"}, { name: "file", required: true, readOnlyWhen: {fieldName: "formEdit.values.file_filename", operator: "notNull"} } ] }); isc.IButton.create({ ID: "uploadButton", title: "Upload", width: 100, click: function () { formEdit.saveData("if(dsResponse.status>=0) formEdit.editNewRecord()"); } }); isc.VLayout.create({ ID: "vLayoutForms", width: 100, members: [ isc.Label.create({ contents: "Editor", width: 50, height: 25, autoDraw: true, baseStyle: "exampleSeparator" }), formEdit, uploadButton, isc.Label.create({ contents: "View", width: 50, height: 25, autoDraw: true, baseStyle: "exampleSeparator" }), formView ] }); isc.ListGrid.create({ ID: "listGrid", width: 500, height: 224, dataSource: customBinaryField, selectionType: "single", autoFetchData: true, fields: [ {name: "id", width: 100}, {name: "file", width: 380} ], recordClick: function (viewer, record, recordNum, field, fieldNum, value, rawValue) { formEdit.editSelectedData(listGrid); formView.editSelectedData(listGrid); } }); isc.HLayout.create({ ID: "hLayoutTop", width: 700, layoutMargin: 10, membersMargin: 10, members:[listGrid, vLayoutForms] }); isc.Button.create({ ID: "buttonDownload", width: 200, title: "Download Selected File", click: function () { var selectedRecord = listGrid.getSelectedRecord(); if (selectedRecord == null) { isc.say("You must select one record"); return; } customBinaryField.downloadFile(selectedRecord); } }); isc.Button.create({ ID: "buttonView", width: 200, title: "View Selected File", click: function () { var selectedRecord = listGrid.getSelectedRecord(); if (selectedRecord == null) { isc.say("You must select one record"); return; } customBinaryField.viewFile(selectedRecord); } }); isc.HLayout.create({ ID: "hLayoutButtons", width: 500, layoutMargin: 10, membersMargin: 10, members: [buttonDownload, buttonView] }); isc.VLayout.create({ ID: "vLayout", width: 300, members: [hLayoutTop, hLayoutButtons] });
If you enter a new ID, select a file, and press "Upload", you'll notice that after a successful saveData, the callback is not triggered, and a WARN message is logged:
Code:
WARN:TabIndexManager:Attempt to move unrecognized target ID:isc_DynamicForm_0
Comment