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


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

 

數據庫中為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 = "上傳發生錯誤,請檢查后重試" });
        }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM