C#Webはマルチデータリスト書き込みストレージを実現します

[追加]ボタンをクリック
ここに画像の説明を挿入します
して、
ここに画像の説明を挿入します
ビューインターフェイスコードに示されているように、データを追加した後にデータを追加します
ここに画像の説明を挿入します

ここに画像の説明を挿入します
//悪い現象ボタントリガーイベント
関数を追加しますAddPart(){

    var sDefect_Type = $("#Defect_Type").val().trim();
   

    var sDefect_Desc_Plus = $("#Defect_Desc_Plus").val().trim();
    
    if ((sDefect_Type == undefined || sDefect_Type == null || sDefect_Type == "") && (sDefect_Desc_Plus == undefined || sDefect_Desc_Plus == null || sDefect_Desc_Plus == "")) {
        alert('不良现象、不良现象补充不能同时为空');
        return;
    }
    if (sDefect_Type != null && sDefect_Type != "" ) {          
                    var c_bAdd = true;
                    var row_count = $("#PartNumList-grid").data("kendoGrid").dataSource.data().length;
                    //if (row_count == 2) {
                    //    $("#PartNumList-grid").data("kendoGrid").dataSource.read();
                    //    //$("#PartNumList-grid").data("kendoGrid").refresh();
                    //}
                    for (var i = 0; i < row_count; i++) {
                        var sODefect_Type = $("#PartNumList-grid").data('kendoGrid').dataSource.at(i).Defect_Type;
                   
                        var sODefect_Desc_Plus = $("#PartNumList-grid").data('kendoGrid').dataSource.at(i).Defect_Desc_Plus;
                        if (sDefect_Type == sODefect_Type && sDefect_Desc_Plus == sODefect_Desc_Plus) {
                            c_bAdd = false;
                            break;
                        }
                    }
                    if (c_bAdd == true) {
                        var newRow = {
                            row: row_count + 1,
                            Defect_Type: sDefect_Type,
                           // Defect_Type_Name: Defect_Type_Name,
                            Defect_Desc_Plus: sDefect_Desc_Plus                
                        };
                        $("#PartNumList-grid").data("kendoGrid").dataSource.add(newRow);
                        $("#Defect_Type").val("");
                        $("#Defect_Type_Name").val("");
                        $("#Defect_Desc_Plus").val("");
                    }
                }   
    }

存储点击提交数据按钮
ここに画像の説明を挿入します
代码
//叫修数据提交
機能CallRepairSubmit(){ VAR ROW_COUNT = $( "#PartNumListグリッド")データ(「kendoGrid」)dataSource.data()長さ。。。。var sDefect_Type =“”; var sDefect_Desc_Plus =“”; for(var i = 0; i <row_count; i ++){ vardefect_Type = $( "#PartNumList-grid")。data( "kendoGrid")。dataSource.at(i).Defect_Type; if(defect_Type == null || fault_Type == undefined){ defect_Type =“”; } vardefect_Desc_Plus = $( "#PartNumList-grid")。data( "kendoGrid")。dataSource.at(i).Defect_Desc_Plus; if(defect_Desc_Plus == null || fault_Desc_Plus == undefined){ defect_Desc_Plus =“”; }












if(sDefect_Type ==“” && sDefect_Desc_Plus ==“”){ sDefect_Type = defect_Type; sDefect_Desc_Plus = defect_Desc_Plus;

        } else {
            sDefect_Type += "," + defect_Type;
            sDefect_Desc_Plus += "|" + defect_Desc_Plus;
        }
    }

    $.ajax({        
        type: "post",
        url: "/Repair/CallRepairSubmit",
        data:
        {
            sRepair_Type: $("#Repair_Type").val(),
            sCallRepairNo: $("#Call_Repair_No").val(),
            sLine_Id: $("#Line_Id").val(),
            sCall_Location: $("#Call_Location").val(),
            sMachineNo: $("#MachineNo").val(),
            sMachine_Name: $("#Machine_Name").val(),
            sDefect_Types: sDefect_Type,
            sDefect_Desc_Pluss: sDefect_Desc_Plus,
        },
        success: function (data) {
            debugger;
            if (data == "OK") {
                window.location.href = "@Url.Action("Index")";
            }
            else {
                alert(data);
            }
        },
        error: function () {
            alert("ERROR:界面数据类型不对!");
        }
    });
}



   控制器代码

    //存储叫修单(新增保存)
    public string CallRepairSubmit(string sRepair_Type, string sCallRepairNo, int sLine_Id, string sCall_Location, string sMachineNo, string sMachine_Name, string sDefect_Types, string sDefect_Desc_Pluss)
    {
        string sRetMsg = "OK";
        var handler = new RepairHandler();
        sCallRepairNo = handler.GetNew_TLId();
        var result = handler.CallRepairSubmit(sRepair_Type, sCallRepairNo, sLine_Id, sCall_Location, sMachineNo, sMachine_Name, sDefect_Types, sDefect_Desc_Pluss);

        if (result != "OK")
            sRetMsg = result;

        return sRetMsg;

    }
}

データ論理処理
ここに画像の説明を挿入します
//記憶コール修復注文方法
パブリックストリングCallRepairSubmit(列sRepair_Type、ストリングsCallRepairNo、INT sLine_Id、文字列sCall_Location、ストリングsMachineNo、ストリングsMachine_Name、列sDefect_Types、ストリングsDefect_Desc_Pluss)
{ VARG今= sDefect_Desc_Pluss){ VARG今= sDefect_Desc_Pluss。 "OK";

        try
        {

            #region Insert叫修单号基本信息
            var masterData = new EMS_R_CALL()
            {
                ID = GetMaxId("EMS_R_CALL") + 1,
                CALL_REPAIR_NO = sCallRepairNo,
                REPAIR_TYPE = sRepair_Type,
                PLANT_ID = UserSession.Plant.Id,
                LINE_ID = sLine_Id,
                CALL_LOCATION = sCall_Location,
                CALL_BY = UserSession.Account.Id,
                CALL_TIME = now,
                STATUS = 1,
                UPDATE_BY = UserSession.Account.Id,
                UPDATE_TIME = now,
                DEFECT_TYPE = "D"
            };
            db.EMS_R_CALL.Add(masterData);
            db.SaveChanges();
            #endregion

            #region Insert 绑定的不良现象
            string[] sArrDefect_Type = sDefect_Types.Split(',');
            string[] sArrDefect_Desc_Plus = sDefect_Desc_Pluss.Split('|');
            
            for (int i = 0; i < sArrDefect_Type.Length; i++)
            {
              
                var UseNO_PartData = new CommonResource.Models.EMS_R_CALL_DEFECT()
                {
      
                    ID = GetMaxId("EMS_R_CALL_DEFECT") + 1,
                    CALL_REPAIR_NO = sCallRepairNo,
                    MACHINE_ID = db.MACHINE.Where(t => t.CUSTODYNO == sMachineNo).Select(t => t.ID).FirstOrDefault(),                     
                    DEFECT_ID = Convert.ToDecimal(sArrDefect_Type[i]),
                    //DEFECT_ID = db.TROUBLES.Where(t => t.NAME == sArrDefect_Type.ToString()).Select(t => t.ID).FirstOrDefault(),
                    //DEFECT_ID = sArrDefect_Type[i].ToString().Trim() == "" ? null : sArrDefect_Type[i]0.ToString().Trim(),                  
                    DEFECT_DESC_PLUS = sArrDefect_Desc_Plus[i].ToString().Trim() == "" ? null : sArrDefect_Desc_Plus[i].ToString().Trim(),
                    UPDATE_BY = UserSession.Account.Id,
                    UPDATE_TIME = now
                };
            db.EMS_R_CALL_DEFECT.Add(UseNO_PartData);
            db.SaveChanges();
        }
            #endregion


            #region Insert叫修UpdateMachine基本信息
            var machineModel = getMachineCount( sCallRepairNo, sMachineNo).Where(x => x.CUSTODYNO == sMachineNo).SingleOrDefault();
            {
                machineModel.R_STATUS = (int)RepairCallStatus.叫修 ;
            };
            db.SaveChanges();

            #endregion
            var Result = "";
        if (Result == null)
        {
            sRetMsg = "NG:料号异常";
        }

    }
        catch (Exception ex)
        {
            sRetMsg = "NG:Insert data异常" + ex.Message;
        }
        return sRetMsg;

追加が成功したら、インターフェースに戻ります
ここに画像の説明を挿入します

フロントエンドページにリストストレージ値が一時的に保存されると、複数のデータと異なるタイプがデータテーブルに書き込まれます
ここに画像の説明を挿入します

ここに画像の説明を挿入します
最初に除算してから、値を取得してデータを変換および書き込みます
ここに画像の説明を挿入します

おすすめ

転載: blog.csdn.net/caoguanghui0804/article/details/110430980