中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

layui中上傳文件與數據表格的問題有哪些

發布時間:2021-09-23 15:27:47 來源:億速云 閱讀:221 作者:小新 欄目:開發技術

這篇文章給大家分享的是有關layui中上傳文件與數據表格的問題有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

layui是一款我比較喜歡的框架,它的界面風格和顏色搭配都是讓人比較舒服的,所以我非常喜歡使用layui。

接下來就是在工作中使用layui遇到了一些比較細節的問題:

第一:layui上傳文件的問題,

第二:layui 表格的問題。

首先第一個問題,就是layui上傳文件的問題,首先我們來看layui是如何上傳文件的:

function UpdateFile() {        layui.use('upload', function () {            var upload = layui.upload;            //執行實例            var uploadInst = upload.render({                elem: '#upload' //綁定元素                , url: '/ExcelTemplate'//上傳接口                , method: 'POST'                , type: "file"                , accept: 'file'                , before: function (obj) {                    layer.load(); //上傳loading                }                , done: function (res) {                    //上傳完畢回調                    if (res) {                        layer.closeAll('loading');                        var d = dialog({                            title: '提示',                            content: '上傳模板成功',                            width: 200,                            ok: function () { self.location.reload(); },                        });                        d.show();                    } else {                        layer.closeAll('loading');                        var d = dialog({                            title: '提示',                            content: '上傳模板失敗',                            width: 200,                            ok: function () { },                        });                        d.show();                    }                }                , error: function () {                    layer.closeAll('loading');                }            });        });    }

當然你需要在你的頁面上定義一個按鈕,然后觸發點擊事件,elem: '#upload' 就是用來與你的上傳按鈕做綁定了,接下來就是文件類型還有用post來傳輸。

然后我們需要在后臺用一個參數去接收文件。

[HttpPost("")]        public IActionResult UploadTemplate(IFormFile file)        {            long dateTime = DateTime.Now.ToFileTimeUtc();            string[] template = file.FileName.Split(new char[] { '\\' }, StringSplitOptions.RemoveEmptyEntries);            string fileName = Path.Combine(hostingEnvironment.WebRootPath, "Upload", "ExcelTemplate", dateTime + "_" + template[template.Length - 1]);            if (System.IO.File.Exists(fileName))            {                System.IO.File.Delete(fileName);            }            try            {                using (FileStream fs = new FileStream(fileName, FileMode.Create))                {                    file.CopyTo(fs);                    fs.Flush();                    return Ok(true);                }            }            catch (Exception)            {                return BadRequest("上傳模板失敗!");            }        }

這里是用IFormFile 去接收文件,參數名最好是file,然后對文件進行操作,那么上傳的文件要怎么才能下載呢,如下:

<script type="text/html" id="down">    <a href="~/Upload/ExcelTemplate/{{d.name}}" download="{{d.name}}" class="layui-table-link">下載</a></script>

在表格中顯示和下載。

第二就是表格的問題了:

layui.use(['table', 'laypage'], function () {            var laypage = layui.laypage;            var table = layui.table,                form = layui.form;            table.render({                elem: '#PaymentDayList'                , url: '/PaymentDay'                , method: "get"                , height: "auto"                , width: "auto"                , cellMinWidth: 80                , limit: 10                , curr: 1                , request: {                    pageName: 'pageIndex'                }                , page: {                    layout: ['limit', 'count', 'prev', 'page', 'next', 'skip'] //自定義分頁布局                    , groups: 5 //只顯示 1 個連續頁碼                    , first: false //不顯示首頁                    , last: false //不顯示尾頁                }                , limits: [10, 20, 50, 100, 500, 1000]                , cols: [[                    { type: "checkbox", fixed: "left" },                    { type: 'numbers', title: '序號' },                    { field: 'name', title: '賬期名稱', sort: true, width: 200 },                    { field: 'settleMentInterval', title: '結算周期', sort: true, width: 100 },                    { field: 'startTime', title: '賬期起始時間', sort: true, width: 150 },                    { field: 'endTime', title: '賬期終止時間', sort: true, width: 150 },                    { field: 'warnDay', title: '到期提醒日', sort: true, width: 150 },                    { field: 'userName', title: '商保專員', sort: false, width: 100 },                    { field: 'addTime', title: '創建時間', sort: true, width: 200 },                    { field: 'isEnabled', title: '啟用', templet: '#checkboxTpl', width: 100 },                    { field: 'status', title: '狀態', sort: false, width: 100 },                    { field: 'scope', title: '適用范圍', sort: false, width: 100 },                ]]            });            $('#Select').on('click', function () {                table.reload("PaymentDayList", {                    page: {                        curr: 1                    }                    , where: {                        name: $("#name").val(),                        startTime: $("#startTime").val(),                        endTime: $("#endTime").val(),                        status: $("#type option:selected").val()                    }                });            });            form.on('checkbox(lockDemo)', function (obj) {                var isEnable;                obj.elem.checked == true ? isEnable = "啟用" : isEnable = "未啟用";                $.ajax({                    url: '/PaymentDay/Enabled/' + obj.value + "/" + isEnable,                    type: 'get',                    success: function (result) {                        if (result.code == 200) {                        }                        else {                            var d = dialog({                                title: '提示',                                content: '操作失敗!',                                ok: function () { },                            });                            d.show();                        }                    }                });            });        });

這時候有人可能留意到了有一個啟用的checkbox,其中點擊checkbox會發送get請求到控制器。從而完成與后臺的交互。那么如果我們想要點擊了checkbox按鈕之后,我們選中這一條數據的時候不能刪除這條數據怎么辦呢?

我們就需要遍歷一下這個頁面的所有checkbox了,如下:

var table = layui.table;            var checkStatus = table.checkStatus('PaymentDayList'), data = checkStatus.data;            if (data.length == 1) {                var check = document.getElementsByName("lock");                for (i = 0; i < check.length; i++) {                    if (check[i].value == data[0].id) {                        if (check[i].checked) {                            var d = dialog({                                title: '提示',                                content: "啟用了的賬期不能修改",                                okValue: '確定',                                ok: function () {                                }                            }).width(200);                            d.show();                            return;                        }                    }                }

這樣就可以確定哪個是選中的了。

感謝各位的閱讀!關于“layui中上傳文件與數據表格的問題有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

阳春市| 正蓝旗| 海南省| 许昌县| 青岛市| 历史| 济宁市| 永泰县| 印江| 鹤峰县| 台南市| 平邑县| 三原县| 宁蒗| 昌平区| 汶川县| 河北区| 望江县| 甘肃省| 区。| 唐山市| 平定县| 盐城市| 白城市| 芦溪县| 宿松县| 江阴市| 武清区| 钟祥市| 克什克腾旗| 新营市| 巴青县| 庆元县| 琼结县| 河南省| 治多县| 镇赉县| 黄龙县| 余姚市| 方城县| 迁安市|