寫本文章的目的是為了記錄工作中遇到的問題,方便以後遇到可以迅速解決問題 資料庫中為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 = "上傳發生錯誤,請檢查後重試" }); }