關於bootstrap日期轉化,bootstrap-editable的簡單使用,bootstrap-fileinput的使用

来源:http://www.cnblogs.com/yuanxinSix/archive/2017/05/12/6845581.html
-Advertisement-
Play Games

寫本文章的目的是為了記錄工作中遇到的問題,方便以後遇到可以迅速解決問題 資料庫中為datetime類型,.net讀取數據已Json格式發回給前臺頁面:例如:使用bootstrap表格插件Ⅹ 使用bootstrap-editable時需要引用 初始化時: 修改完成的點擊事件: 後臺修改數據的方法: b ...


寫本文章的目的是為了記錄工作中遇到的問題,方便以後遇到可以迅速解決問題

 

資料庫中為datetime類型,.net讀取數據已Json格式發回給前臺頁面:例如:使用bootstrap表格插件Ⅹ

 

 formatter: function (value, row, index) {
                        var date = new Date(parseInt(value.slice(6)));//轉化日期格式
                        return date.getFullYear() + '-' + parseInt(date.getMonth() + 1) + '-' + date.getDate() + " " + date.getHours() + ":" + date.getMinutes()+":"+date.getSeconds();
                    }

 

 


 

使用bootstrap-editable時需要引用

<script src="~/Scripts/bootstrap3-editable/js/bootstrap-editable.min.js"></script>
<script src="~/Scripts/bootstraptable/dist/extensions/editable/bootstrap-table-editable.min.js"></script>

初始化時:

 {
                    field: 'SkuPurchasePrice',
                    title: '採購價',
                    align: 'center',
                    editable: {
                        type: 'text',
                        title: '採購價',
                        validate: function (v) {
                            if (v < 0) return '採購價不能小於0';

                        }
                    }
                }, {
                    field: 'QtyAvailable',
                    title: '庫存可用量',
                    align: 'center',
                    editable: {
                        type: 'text',
                        title: '庫存可用量',
                        validate: function (v) {
                            if (v < 0) return '庫存可用量不能小於0';
                        },                     
                    },                    
                }

修改完成的點擊事件:

 $("#tb_detailList").bootstrapTable({
                url: actionUrl,         //請求後臺的URL(*)
                method: 'get',                      //請求方式(*)
                toolbar: '#toolbar',                //工具按鈕用哪個容器
                striped: true,                      //是否顯示行間隔色
                cache: false,                       //是否使用緩存,預設為true,所以一般情況下需要設置一下這個屬性(*)
                pagination: true,                   //是否顯示分頁(*)
                sortable: false,                     //是否啟用排序
                sortOrder: "asc",                   //排序方式
                queryParams: dbQueryParams,//傳遞參數(*)
                sidePagination: "server",           //分頁方式:client客戶端分頁,server服務端分頁(*)
                pageNumber: 1,                       //初始化載入第一頁,預設第一頁
                pageSize: 10,                       //每頁的記錄行數(*)
                pageList: [10, 25, 50, 100],        //可供選擇的每頁的行數(*)
                search: false,                       //是否顯示表格搜索,此搜索是客戶端搜索,不會進服務端,所以,個人感覺意義不大
                strictSearch: true,
                showColumns: true,                  //是否顯示所有的列
                showRefresh: true,                  //是否顯示刷新按鈕
                //minimumCountColumns: 2,             //最少允許的列數
                clickToSelect: false,                //是否啟用點擊選中行
                //height: 800,                        //行高,如果沒有設置height屬性,表格自動根據記錄條數覺得表格高度
                uniqueId: "Id",                     //每一行的唯一標識,一般為主鍵列
                showToggle: true,                    //是否顯示詳細視圖和列表視圖的切換按鈕
                cardView: false,                    //是否顯示詳細視圖
                detailView: false,                   //是否顯示父子表
                columns: tbColumns,              
                onPageChange: function (number, size) {
                    m_pagerow = (number - 1) * size;
                },
                onLoadSuccess: function () {  //載入成功時執行
                    $("[data-toggle='popover']").popover();
                },
                onEditableSave: function (field, row, oldValue, $el) {//重點在這裡的點擊事件
                    $.ajax({
                        type: 'post',
                        url: "@Url.Action("EditNumber")",//傳給後臺的地址進行數據的修改
                        dataType: 'JSON',
                        data: { "row": JSON.stringify(row) },
                        success: function (data) {
                            if (data.ResultType == 0) {
                                toastr.success(data.Message);
                            }
                            else {
                                toastr.warning(data.Message);
                            }
                        },
                        error: function () {
                            toastr.error("出錯了,請聯繫管理員");
                        }
                    });
                }
            });

後臺修改數據的方法:

 public ActionResult EditNumber()
        {
            var row = Request.Params["row"];
            var model=JsonConvert.DeserializeObject<View_DetailSkuPriceStockVO>(row);
            var result = offerServer.View_DetailSkuPriceStock.editNumber(model);
            result.Message = result.Message ?? result.ResultType.GetName();
            return Json(result);
        }

 


 


 

bootstrap-fileinput使用:

引用

 <script src="~/Scripts/AdminLTE2.3.0/bootstrap/js/fileinput.min.js"></script>

初始化:

 <label class="control-label col-sm-1">商品上傳</label>
                            <div class="col-sm-2"><input type="file" id="ProductsUpload" name="ProductsUpload" /></div>//這裡應用了上傳插件input
                            <div class="col-sm-1"><a href="~/ProductsExcel/DownloadTemplate?type=5" target="_blank">下載模板</a></div>
 function initFileInput(ctrlName) {
            var control = $('#' + ctrlName);
            control.fileinput({
                language: 'zh', //語言
                uploadUrl: "@Url.Action("ExcelLeadingIn")", //action
                autoReplace: true,
                maxFileCount: 1, //最大上傳數量
                allowedFileExtensions: ["xlsx", "xls"],
                browseClass: "btn btn-primary", //按鈕樣式
                dropZoneEnabled: false,
                enctype: 'multipart/form-data',
                showRemove: true, //是否顯示刪除按鈕
                showBrowse: true, //顯示瀏覽圖片按鈕
                msgFilesTooMany: "選擇上傳的文件數量({n}) 超過允許的最大數值{m}!",
                msgInvalidFileExtension:"只支持.xlsx和.xls文件的格式上傳",
                fileActionSettings: {
                    showUpload: false, //預覽圖片上傳按鈕
                    showRemove: false, //預覽圖片remove按鈕
                    showZoom: false //關閉預覽圖片按鈕
                }
            }).on('fileuploaded', function (event, data, previewId, index) {//上傳圖觸發事件
                if (data.response.state == 1) {
                    $('#excelLendingDiv h5').html($('#excelLendingDiv h5').html() + data.response.result+"<br/>");
                }
                else {
                    toastr.error(data.response.result);
                }
            }).on('filecleared', function (event) {//remove觸發事件
                control.show();
            });
        }

後臺上傳接受的方法:

 [HttpPost]
        public ActionResult ExcelLeadingIn()
        {         
            var files = Request.Files;
            string name=files.Keys[0].ToString();

            if (files != null && files.Count > 0)
            {              
                var file = files[0];                
                string path = Server.MapPath("~/Content/excel/") + file.FileName;//文件保存在當前功能變數名稱下的Content/excel/中
                file.SaveAs(path);              
                string mess = OfferServer.ProductsDetail.InsertExcel(path,file.InputStream,name);
                return Json(new { state = 1, result = mess });
            }
            return Json(new { state = 0, result = "上傳發生錯誤,請檢查後重試" });
        }

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...