<div>
<ejs-grid id="Grid" queryCellInfo="queryCellInfo" allowPaging="true" dataSource="@ViewBag.DataSource" toolbar="@(new List<string>() { "Add","Delete","Update", "Cancel" })">
<e-grid-editSettings allowDeleting="true" allowEditing="true" allowAdding="true" showDeleteConfirmDialog="true"></e-grid-editSettings>
<e-grid-pagesettings pageCount="5"></e-grid-pagesettings>
<e-grid-columns>
<e-grid-column field="Image" headerText=" Item Image" edit="@(new {create = "create", read = "read", destroy = "destroy", write = "write"})" width="120"></e-grid-column>
</e-grid-columns>
</ejs-grid>
</div>
<script>
var elem;
var uploadObj;
var strm;
function create(args) {
elem = document.createElement('input');
return elem;
}
function write(args) {
uploadObj = new ej.inputs.Uploader({
asyncSettings: {
saveUrl: 'https://aspnetmvc.syncfusion.com/services/api/uploadbox/Save',
removeUrl: 'https://aspnetmvc.syncfusion.com/services/api/uploadbox/Remove'
},
success: onUploadSuccess,
failure: onUploadFailure,
});
uploadObj.appendTo(elem);
}
function destroy() {
uploadObj.destroy();
}
function read(args) {
return strm;
}
function queryCellInfo(args) {
if (args.column.field === "Image") {
args.cell.setAttribute('aria-label', 'image')
args.cell.innerText = '';
var img = new Image();
img.src = args.data.Image;
img.classList.add('test');
img.style.width = '30px';
img.style.height = '30px';
args.cell.appendChild(img);
}
}
function onUploadSuccess(args) {
if (args.operation === 'upload') {
strm = getBase64(args.file.rawFile);
}
}
function onUploadFailure(args) {
console.log('File failed to upload');
}
function getBase64(file) {
var reader = new FileReader();
reader.readAsDataURL(file);
reader.onload = function () {
strm = reader.result;
};
reader.onerror = function (error) {
console.log('Error: ', error);
};
}
</script> |
|
@{ var asyncSettings = new Syncfusion.EJ2.Inputs.UploaderAsyncSettings { SaveUrl = "https://localhost:44342/Home/Save",
}
<div class="col-lg-12 control-section" id="target">
<ejs-uploader id="uploadFiles" asyncSettings="@asyncSettings"></ejs-uploader>
</div> |