如何在Dropzone.js和jsGrid中只上传并显示一个文件?

How to upload and display only one file in Dropzone.js and jsGrid?

我有一个 Dropzone 控件和一个 jsGrid 控件。拖到 Dropzone 的文件显示在 jsGrid 中。我只想上传一个文件,之后应该没有上传文件的选项。现在可以通过以下方法解决

每次在jsGrid上触发change事件,没有。计算 jsGrid 中的行数。如果计数为 0,则启用 Dropzone;如果计数为 1,则禁用。我似乎找不到计算编号的代码。 jsGrid 中的行数。请帮助我的代码。

另外,如果有其他方法可以解决,请告诉我。

这是我的表单的屏幕截图:

提前致谢。

我已经通过使用 CSS 禁用 Dropzone 控件解决了这个问题。

.maxFilesReached {
        pointer-events: none;
        cursor: default;
        background-color: #ffd9d8
}

此 CSS class 成功后添加到 jsGrid loadData 事件。

loadData: function (filter) {
                return $.ajax({
                    type: "POST",
                    url: "/Downloads/GetDownloadItems/" + DownloadId,
                    data: filter,
                    dataType: "json"
                }).done(function (response) {
                    debugger;
                    if (response.length == 1) { // disabling Dropzone control
                        $("#dropzoneForm").addClass('maxFilesReached');
                    }
                });
            }

同样,CSS class 在 jsGrid 的 deleteItem 事件中被删除。

deleteItem: function (item) {
                    return $.ajax({
                        type: "POST",
                        url: "/Downloads/DDownloadItem/" + item.Id,
                        dataType: "json"
                    }).done(function () {
                        // enabling Dropzone control
                        $("#dropzoneForm").removeClass('maxFilesReached');
                    });
                }

我也用过Dropzone的maxFiles 属性来防止不止一个上传

P.S。 jsGrid 有点乱。