Camstar里面写JS表格联动

44 阅读1分钟

表格里面绑定JS image.png

User.JS里面写JS

` function N_Prepfinish_Summation() {

var grid = $(this.GridID);
var rowData = grid.getRowData();
//获取文本框值DeviationQty
var N_DeviationQty = document.getElementsByName('ctl00$WebPartManager$BlankWP$DeviationQty0$ctl00');
var DeviationQty_Value = "";
var N_DeviationRate = document.getElementsByName('ctl00$WebPartManager$BlankWP$DeviationQty$ctl00');
var DeviationRate_Value = "";
for (var x = 0; x < rowData.length; x++) {
    currentRow = $("tr", grid)[x + 1];

    //计算偏差数量 N_DeviationQty
    if (rowData[x]["N_BackQty"] && rowData[x]["N_RealBackQty"]) {
        var v1 = (Number(rowData[x]["N_BackQty"]) - Number(rowData[x]["N_RealBackQty"]));
        $(currentRow).find("td").eq(15)[0].innerText = v1;
        rowData[x]["N_DeviationQty"] = v1;
        var v2 = ((Number(rowData[x]["N_BackQty"]) - Number(rowData[x]["N_RealBackQty"])) / Number(rowData[x]["N_BackQty"])) + "%";
        $(currentRow).find("td").eq(16)[0].innerText = v2;
        rowData[x]["N_DeviationRate"] = v2;
        DeviationQty_Value += rowData[x]["Sequnce"] + "&" + v1 + ",";
        DeviationRate_Value += rowData[x]["Sequnce"] + "&" + v2 + ",";
    }
}
N_DeviationQty[0].value = DeviationQty_Value;
N_DeviationRate[0].value = DeviationRate_Value;

} `

CS里面需要加载,因为CS加载不出JS对表格的数据 所以用文本框接一下数据

#region 加载js到服务对象
                var TheoryQtys = TheoryQty.Data.ToString();//12&100,120&1000,
                var CalConcentrations = CalConcentration.Data.ToString();//12-10&455,120-50&674
                var CalTheoryQtys = CalTheoryQty.Data.ToString();//12-10&112,120-50&22
                                                                 //处理计算结果数据合并到gridData
                var TheorySplit = TheoryQtys.Split(',');
                var CalconSplit = CalConcentrations.Split(',');
                var CalTheorySplit = CalTheoryQtys.Split(',');
                foreach (var item in gridData)
                {

                    //TheoryQty赋值
                    foreach (var theory in TheorySplit)
                    {
                        if (theory.Length > 1 && theory.Substring(0, theory.IndexOf('&')) == item.NMoles)
                        {
                            item.TheoryQty = theory.Substring(theory.IndexOf('&') + 1);
                        }
                    }
                    //CalConcentration赋值
                    foreach (var calcon in CalconSplit)
                    {
                        if (calcon.Length > 1 && calcon.Substring(0, calcon.IndexOf('&')) == (item.NMoles + "-" + item.Concentration))
                        {
                            item.CalConcentration = calcon.Substring(calcon.IndexOf('&') + 1);
                        }
                    }
                    //CalTheoryQty赋值
                    foreach (var caltheory in CalTheorySplit)
                    {
                        if (caltheory.Length > 1 && caltheory.Substring(0, caltheory.IndexOf('&')) == (item.NMoles + "-" + item.Concentration))
                        {
                            item.CalTheoryQty = caltheory.Substring(caltheory.IndexOf('&') + 1);
                        }
                    }
                }
                #endregion

image.png