Hi Daniil,
You can try this setting for a MultiUpload.
We have tried with your recommended code in a sample. But we are facing issue on that. Still it allows more than 1 file to be uploaded.
Please review the code and guide us!
<%@ Page Language="C#" %>
<!DOCTYPE html>
<script runat="server">
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" Namespace="Sample">
</ext:ResourceManager>
<asp:ScriptManager ID="ScriptManager1" runat="server">
</asp:ScriptManager>
<ext:Viewport ID="ViewPort1" runat="server" Layout="FitLayout">
<Content>
<ext:Container ID="BorderLayout" runat="server" Layout="FitLayout">
<Items>
<ext:GridPanel ID="UploadGrid" runat="server" ForceFit="true" StyleSpec="width:100%">
<Store>
<ext:Store ID="storeGrid" runat="server">
<Model>
<ext:Model ID="Model1" runat="server" IDProperty="id">
<Fields>
<ext:ModelField Name="id" />
<ext:ModelField Name="name" />
<ext:ModelField Name="size" />
<ext:ModelField Name="status" />
<ext:ModelField Name="progress" />
</Fields>
</ext:Model>
</Model>
</ext:Store>
</Store>
<ColumnModel>
<Columns>
<ext:Column ID="Column1" runat="server" Text="File Name" DataIndex="name" Width="150" />
<ext:Column ID="Column2" runat="server" Text="Size" DataIndex="size" Width="60">
<Renderer Format="FileSize" />
</ext:Column>
<ext:Column ID="Column3" runat="server" Text="Status" DataIndex="status" Width="60" />
<ext:ProgressBarColumn ID="ProgressBarColumn1" runat="server" Text="Progress" DataIndex="progress" />
</Columns>
</ColumnModel>
<BottomBar>
<ext:Toolbar ID="Toolbar1" runat="server">
<Items>
<ext:MultiUpload ID="UploadData" runat="server" FileTypes="*.xml" FileUploadLimit="1">
<FlashButton Action="SELECT_FILE" />
<Listeners>
<FileSelected Fn="fileSelection" />
<UploadStart Handler="updateRecord(file.id, 'status', 'Sending');" />
<UploadComplete Handler="updateRecord(file.id, 'progress', 1 );updateRecord(file.id, 'status', 'Uploaded' );" />
<UploadRemoved Handler="var store = this.up('grid').store; store.remove(store.getById(file.id));" />
<AfterRender Handler="this.flashButton = null; this.createUploadButton();" />
</Listeners>
</ext:MultiUpload>
<ext:ToolbarSeparator />
<ext:Button ID="btnUpload" runat="server" Text="Upload">
<Listeners>
<Click Delay="1" Handler="#{UploadData}.startUpload();" />
</Listeners>
</ext:Button>
<ext:Button ID="btnCancel" runat="server" Text="Cancel">
<Listeners>
<Click Delay="1" Handler="CancelUpload();" />
</Listeners>
</ext:Button>
</Items>
</ext:Toolbar>
</BottomBar>
</ext:GridPanel>
</Items>
</ext:Container>
</Content>
</ext:Viewport>
</form>
<script type="text/javascript">
function CancelUpload() {
var selectedData = Sample.UploadGrid.getSelectionModel().getSelection();
if (selectedData.length == 0) {
All(info_rowselect);
}
else {
Sample.UploadData.removeUpload(selectedData[0].getId());
}
}
var fileSelection = function (item, file) {
this.up('grid').store.add({
id: file.id,
name: file.name,
status: 'Pending',
progress: 0
});
}
var updateRecord = function (id, field, value) {
var rec = Sample.UploadGrid.store.getById(id);
rec.set(field, value);
rec.commit();
};
</script>
</body>
</html>