将数据库数据回填到表格
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
先在控制器获取数据库数据,再将数据传到视图层,代码:
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";
}
})