zoukankan      html  css  js  c++  java
  • Devexpress MVC Gridview 获取到增删改的所有行数据(JSON) 并使用SQL事物保存数据

    //ModalChargeGridView Gridview的名字
    //Con_Shp_Chg 数据库表名
    //ConShpChgUID UID或者是标识列
    //gs_Language 语言(中英文)
    //ljs_HeaderWhereJson where的条件. 一般用于主表跟子表

    GetChargeUpdateDataJson(ModalChargeGridView,"Con_Shp_Chg","ConShpChgUID", gs_UsrID, gs_Language, ljs_HeaderWhereJson);

      

      //Get Update Data
        function GetChargeUpdateDataJson(agv_GridView, as_KeyTable, as_KeyField, as_UsrID, as_Language, ajs_HeaderUpdateWhereJson)
        {
            var ls_json = "";
            //var la_array = [];
            var ls_jsonResult = "";
            var ls_Wherejson = "";
            var ls_Option = "";
            var ls_Value ="";
            var ls_Type = "";
            var la_Indicies = agv_GridView.batchEditHelper.GetDataItemVisibleIndices();
            var li_ColumnCount = agv_GridView.GetColumnsCount();
            var ls_FieldName = "";
            var la_NotUpdateField = [];
            for (var i = 0,gi_len = la_Indicies.length; i < gi_len ; i++)
            {
          //Delete if(agv_GridView.batchEditApi.IsDeletedRow(la_Indicies[i]) && agv_GridView.batchEditApi.GetCellValue(la_Indicies[i], as_KeyField) != null) { ls_json += GenerateJsonStringIfy("ModifyDate","-1","DateTime"); ls_json += GenerateJsonStringIfy("ModifyBy",as_UsrID,"String"); ls_json += GenerateJsonStringIfy("Status","-1","String"); ls_json = "["+ ls_json.substring(0, ls_json.length - 1)+"]"; ls_Option = "UPDATE"; ls_Wherejson = GenerateJsonStringIfy(as_KeyField, agv_GridView.batchEditApi.GetCellValue(la_Indicies[i],as_KeyField),"Int"); ls_Wherejson = "["+ ls_Wherejson.substring(0, ls_Wherejson.length - 1)+"]"; }
            //Update else if (agv_GridView.batchEditApi.HasChanges(la_Indicies[i]) && !(agv_GridView.batchEditApi.IsNewRow(la_Indicies[i])) && agv_GridView.batchEditApi.GetCellValue(la_Indicies[i], as_KeyField) != null) { if (agv_GridView.batchEditApi.ValidateRow(la_Indicies[i])) { for (var j = 0; j < li_ColumnCount; j++) { ls_FieldName = agv_GridView.GetColumn(j).fieldName; if (ls_FieldName === "" ||la_NotUpdateField.indexOf(ls_FieldName) !== -1) { continue; } else { if (ls_FieldName === "ModifyBy") { ls_Value = as_UsrID ; } else if (ls_FieldName === "RowNo") ls_Value = (la_Indicies[i] + 1).toString() ; else { if (agv_GridView.batchEditApi.GetCellValue(la_Indicies[i], ls_FieldName) === null) ls_Value = ""; else ls_Value = agv_GridView.batchEditApi.GetCellValue(la_Indicies[i], ls_FieldName).toString().trim(); } switch (ls_FieldName) { case 'ts': ls_Type = 'TimeStamp'; break; case as_KeyField: ls_Type = 'UID'; break; default: ls_Type = 'String'; } } ls_json += GenerateJsonStringIfy(ls_FieldName,ls_Value,ls_Type); } ls_json += GenerateJsonStringIfy("ModifyDate","-1","DateTime"); ls_json += GenerateJsonStringIfy("Language",as_Language,"String"); ls_json = "["+ ls_json.substring(0, ls_json.length - 1)+"]"; ls_Option = "UPDATE"; ls_Wherejson = GenerateJsonStringIfy(as_KeyField, agv_GridView.batchEditApi.GetCellValue(la_Indicies[i],as_KeyField),"Int"); ls_Wherejson = "["+ ls_Wherejson.substring(0, ls_Wherejson.length - 1)+"]"; } }         //Insert else if ((!agv_GridView.batchEditApi.IsDeletedRow(la_Indicies[i]) && agv_GridView.batchEditApi.IsNewRow(la_Indicies[i])) || agv_GridView.batchEditApi.GetCellValue(la_Indicies[i], as_KeyField) == null) { if (agv_GridView.batchEditApi.ValidateRow(la_Indicies[i]) && !agv_GridView.batchEditApi.IsDeletedRow(la_Indicies[i])) { ls_json += ''; for (var j = 0; j < li_ColumnCount; j++) { ls_FieldName = agv_GridView.GetColumn(j).fieldName; if (ls_FieldName === "" || ls_FieldName === "ModifyDate" || ls_FieldName === "ModifyBy" || la_NotUpdateField.indexOf(ls_FieldName) !== -1) { continue; } else { if (ls_FieldName === "CreateBy") ls_Value = as_UsrID ; else if (ls_FieldName === "RowNo") ls_Value = (i+1).toString(); else if (ls_FieldName === "QVSHPTUID") ls_Value = 'QVSHPTUID'; else { if (agv_GridView.batchEditApi.GetCellValue(la_Indicies[i], ls_FieldName) === null) ls_Value = null; else ls_Value = agv_GridView.batchEditApi.GetCellValue(la_Indicies[i], ls_FieldName).toString().trim(); } switch (ls_FieldName) { case "QVSHPTUID": ls_Type = 'Custom'; break; case 'CreateDate': ls_Type = 'DateTime'; break; case 'ModifyDate': ls_Type = 'DateTime'; break; case 'ts': ls_Type = 'TimeStamp'; break; case as_KeyField: ls_Type = 'UID'; break; default: ls_Type = 'String'; break; } } ls_json += GenerateJsonStringIfy(ls_FieldName,ls_Value,ls_Type); } ls_json += GenerateJsonStringIfy("Language",as_Language,"String"); ls_json = "["+ ls_json.substring(0, ls_json.length - 1)+"]"; ls_Option = "INSERT"; ls_Wherejson = ajs_HeaderUpdateWhereJson; } } ls_jsonResult += GenerateSQLJsonStringIfy(as_KeyTable, ls_json, ls_Wherejson, ls_Option); ls_json = ""; ls_Wherejson = ""; } return ls_jsonResult; }


      

    function GenerateSQLJsonStringIfy(as_Label, as_Data, as_Where, as_Option) {
        var ljs_json = "";
        //ac_quote = ac_quote == null ? "" : ac_quote;
        if (as_Data !== null && as_Data !== "") {
            if (typeof as_Data == "object" && as_Data.constructor == Array) {
                if (as_Data.length == 0 || as_Data[0] == "")
                    return ljs_json;
            }
            ljs_json = '{';
            ljs_json += '"Label":"' + as_Label + '",';
            ljs_json += '"Data":' + JSON.stringify(as_Data) + ',';
            ljs_json += '"Where":' + JSON.stringify(as_Where) + ',';
            ljs_json += '"Option":"' + as_Option + '"';
            ljs_json += '},';
        }
        return ljs_json;
    }
    
    
    function GenerateJsonStringIfy(as_Label, as_Value, as_Type) {
        var ljs_json = "";
        if (as_Value !== null && as_Value !== "") {
            if (typeof as_Value == "object" && as_Value.constructor == Array) {
                if (as_Value.length == 0 || as_Value[0] == "")
                    return ljs_json;
            }
            if (as_Label !== null && as_Label !== "") {
                var lo_nap = { Label: as_Label, Value: as_Value.toString(), Type: as_Type };
                ljs_json += JSON.stringify(lo_nap) + ',';
            }
        }
        return ljs_json;
    }
    

      

  • 相关阅读:
    Docker(35)- docker inspect 命令详解
    Docker(34)- 如何修改 docker 容器的目录映射
    Docker(33)- 如何修改 docker 容器的端口映射
    Docker(32)- 如何修改 docker 容器的启动参数
    Docker(31)- docker import 命令详解
    Docker(30)- docker export 命令详解
    Docker(29)- docker top 命令详解
    Docker(28)- docker port 命令详解
    Docker
    Docker(27)- docker push 命令详解
  • 原文地址:https://www.cnblogs.com/hesijian/p/10457321.html
Copyright © 2011-2022 走看看