将数据库数据回填到表格

将数据库数据回填到表格

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

先在控制器获取数据库数据,再将数据传到视图层,代码:

 

public ActionResult TransferStock(int? CommodityStockOrderID)
        {
            if (CommodityStockOrderID != null)
            {
                Session["CommodityStockOrderID"] = CommodityStockOrderID;
                int commodityStockOrderId = Convert.ToInt32(Session["CommodityStockOrderID"].ToString());
                var dbStockOrder = (from tbStockOrder in myModels.PW_CommodityStockOrder
                                    join tbSupplyConsult in myModels.PW_SupplyConsult on tbStockOrder.SupplyConsultID equals tbSupplyConsult.SupplyConsultID
                                    join tbUser in myModels.PW_User on tbStockOrder.UserID equals tbUser.UserID
                                    where tbStockOrder.CommodityStockOrderID == commodityStockOrderId
                                    select new
                                    {
                                        ClientName = tbSupplyConsult.ClientName,
                                        RestExpenses = tbStockOrder.RestExpenses,
                                        Remark = tbStockOrder.Remark,
                                        UserID = tbUser.UserID,
                                        SupplyConsultID = tbStockOrder.SupplyConsultID,
                                        PaperReceipts = tbStockOrder.PaperReceipts,
                                    }).Single();
                ViewBag.ClientName = dbStockOrder.ClientName;
                ViewBag.RestExpenses = dbStockOrder.RestExpenses;
                ViewBag.Remark = dbStockOrder.Remark;
                ViewBag.UserID = dbStockOrder.UserID;
                ViewBag.SupplyConsultId = dbStockOrder.SupplyConsultID;
                int PaperReceipt;
                if (dbStockOrder.PaperReceipts == null)
                {
                    PaperReceipt = 0;
                }
                else
                {
                    PaperReceipt = 1;
                }
                ViewBag.PaperReceipt = PaperReceipt;
                var listTfa = myModels.PW_StockIndentDetail.Where(m => m.CommodityStockOrderID == commodityStockOrderId && m.Quantity - m.TurnCargoQuantity != 0).ToList();
                ViewBag.StockIndentDetailCount = listTfa.Count();
            }
            else
            {
                return Redirect("/WisdomPipeCargo/StockIndentHistory/StockIndentHistory");
            }

            return View();
        }

接收控制器传过来的数据后,先回填表格外的数据,如日期,下拉框、编号等,再回填表格的内容,这时就要用到循环来回填,因为是表格,有多行数据,需要一条一条回填,再利用索引,具体回填到每一行。

js代码:

 $(function () {
            $("#txbOtherFee").val(@ViewBag.RestExpenses);
            createSelect("EntranceWarehousePullDown", "EntranceWarehousePullDown");
            createSelect("ClearingAccountPullDown", "ClearingAccountPullDown");
            $.post("HandlePerson", { PayWayID: @ViewBag.UserID }, function (jsonData) {
                selectLoadData("HandlePerson", jsonData);
                $("#HandlePerson").val(@ViewBag.UserID);
            });
            for (var i = 0; i < @ViewBag.StockIndentDetailCount; i++) {
                AddRow();
            }
            var money=0;
            var quantity=0;
            $.post("TurnStockBackfill",function (data) {
                for (var i = 0; i < @ViewBag.StockIndentDetailCount; i++) {
                    var j=i+1;
                    $("#tabdetail").find(".Operation").find(".StockIndentDetailID").eq(i).val(data[i].StockIndentDetailID);
                    $("#tabdetail").find(".Operation").find(".CommodityID").eq(i).val(data[i].CommodityID);
                    $("#tabdetail").find(".Operation").find(".DesignationSpecification").eq(i).text(data[i].DesignationSpecification);
                    $("#tabdetail").find(".Operation").find(".SerialNumber").eq(i).text(data[i].SerialNumber);
                    $("#tabdetail").find(".Operation").find(".Quantity").eq(i).val(data[i].Quantity);
                    $("#tabdetail").find(".Operation").find(".Unit").eq(i).text(data[i].Unit);
                    $("#tabdetail").find(".Operation").find(".UnitPrice").eq(i).text(data[i].UnitPrice);
                    $("#tabdetail").find(".Operation").find(".Money").eq(i).text((parseFloat(data[i].Quantity)*parseFloat(data[i].UnitPrice)));
                    $("#tabdetail").find(".Operation").find(".Remark").eq(i).val(data[i].Remark);
                    money+=parseFloat($("#tabdetail").find(".Operation").find(".Money").eq(i).text());
                    quantity+=parseFloat($("#tabdetail").find(".Operation").find(".Quantity").eq(i).val())
                }
                $("#sumAmt").text(money);
                $("#sumCount").text(quantity);
                var txbOtherFee=$("#txbOtherFee").val();
                var alwaysMoney=parseFloat(money)+parseFloat(txbOtherFee);
                $("#spanFaReceAmt").text(alwaysMoney);
                $("#txbreceamt").val(alwaysMoney);
            })
            if (@ViewBag.PaperReceipt==0) {
                document.getElementById("imgdiv").style.display="none";
                document.getElementById("UploadingPhoto").style.display="block";
            }
            else {
                document.getElementById("UploadingPhoto").style.display="none";
                document.getElementById("imgdiv").style.display="block";
            }
        })

 

猜你喜欢

转载自blog.csdn.net/qq_42881311/article/details/87899844