zoukankan      html  css  js  c++  java
  • editview.js

    //***************************************************************
    // CMSCSoft JavascriptCore By TableEdit
    //***************************************************************
    
    CMSC.TableEdit = function(tablesrc) {
        var tableEdit = new Object();
        tableEdit.Table = CMSC.$$(tablesrc);
        tableEdit.TableRows = tableEdit.Table.rows.length - 1;
        tableEdit.TableCells = tableEdit.Table.rows[0].cells.length - 3;
        tableEdit.RowIndex = -1;
        tableEdit.CellIndex = -1;
        tableEdit.FocusFlag = -1;
        tableEdit.ListRows = 8;
    
        //屏蔽按键动作
        document.onkeydown = function(event) {
            event = event || window.event;
            switch (event.keyCode) {
                case 37: return false; break;
                case 38: return false; break;
                case 39: return false; break;
                case 40: return false; break;
            }
        };
    
        tableEdit.keyMove = function(event) {
            event = event || window.event;
            var src = event.srcElement || event.target;
            var row = src.parentElement.parentElement;
            var cell = src.parentElement;
            var cellLeft = cell.cellIndex - 1;
            var cellRight = cell.cellIndex + 1;
            if (cellLeft <= 3) cellLeft = 3;
            if (cellRight >= tableEdit.TableCells + 2) cellRight = tableEdit.TableCells + 2;
            var rowUp = row.rowIndex - 1;
            var rowDown = row.rowIndex + 1;
            if (rowUp <= 1) rowUp = 1;
            if (rowDown >= tableEdit.Table.rows.length - 2) rowDown = tableEdit.Table.rows.length - 2;
    
            var ccell = null;
            switch (event.keyCode) {
                case 37: ccell = tableEdit.Table.rows[row.rowIndex].cells[cellLeft]; break;
                case 38: ccell = tableEdit.Table.rows[rowUp].cells[cell.cellIndex]; break;
                case 39: ccell = tableEdit.Table.rows[row.rowIndex].cells[cellRight]; break;
                case 40: ccell = tableEdit.Table.rows[rowDown].cells[cell.cellIndex]; break;
            }
            if (ccell != null) {
                ccell.getElementsByTagName("INPUT")[0].select();
            }
        };
    
        tableEdit.focusCell = function(event , flag) {
            event = event || window.event;
            var src = event.srcElement || event.target;
            var row = src.parentElement.parentElement;
            var cell = src.parentElement;
    
            if (tableEdit.RowIndex >= 0 && tableEdit.CellIndex >= 0 && tableEdit.FocusFlag >= 0) {
                var pcell = tableEdit.Table.rows[tableEdit.RowIndex].cells[tableEdit.CellIndex];
                var pinput = pcell.getElementsByTagName("INPUT")[0];
                var pbtn = CMSC.$$("Ico_" + pinput.id);
                if (tableEdit.FocusFlag == 1) { pinput.className = "tinput"; }
                pbtn.style.display = "none";
            }
    
            tableEdit.RowIndex = row.rowIndex;
            tableEdit.CellIndex = cell.cellIndex;
            tableEdit.FocusFlag = flag;
            var cbtn = CMSC.$$("Ico_" + src.id);
            if (tableEdit.FocusFlag == 1) { src.className = "oinput"; }
            cbtn.style.display = "inline-block";
    
            src.focus();
        };
    
        tableEdit.getNewRow = function() {
            var newrow = 0;
            for (var i = 1; i < tableEdit.Table.rows.length - 1; i++) {
                var selbox = tableEdit.Table.rows[i].cells[1].getElementsByTagName("INPUT")[0];
                var rowno = selbox.value;
                var ischeck = parseInt(CMSC.$$("RowCheck_" + rowno).value);
                if (ischeck == -1) {
                    newrow = rowno;
                    break;
                }
            }
            if (newrow == 0) {
                tableEdit.addBlankRows();
                newrow = tableEdit.ListRows;
            }
            return newrow;
        };
    
        tableEdit.sumEventRow = function(event) {
            event = event || window.event;
            var src = event.srcElement || event.target;
            var rowsrc = src.parentElement.parentElement;
            var rowcell = rowsrc.cells[1];
            var row = rowcell.getElementsByTagName("INPUT")[0].value;
            if (parseInt(CMSC.$$("RowCheck_" + row).value) >= 0) {
                if (fnExist("sumrow")) sumrow(row);
            }
        };
    
        tableEdit.selectAllRows = function(event) {
            event = event || window.event;
            var src = event.srcElement || event.target;
            var selflag = src.checked;
            for (var i = 1; i < tableEdit.Table.rows.length - 1; i++) {
                var selbox = tableEdit.Table.rows[i].cells[1].getElementsByTagName("INPUT")[0];
                selbox.checked = selflag;
            }
        };
    
        tableEdit.delSelectRows = function() {
            if (confirm("确认要将选中的行删除吗?")) {
                var drow = 0;
                for (var i = 1; i < tableEdit.Table.rows.length - 1; i++) {
                    var selbox = tableEdit.Table.rows[i].cells[1].getElementsByTagName("INPUT")[0];
                    tableEdit.Table.rows[i].cells[2].innerText = i;
                    if (selbox.checked) {
                        tableEdit.Table.deleteRow(i);
                        drow++;
                        i--;
                    }
                }
                if (drow > 0 && fnExist("sumtotal")) sumtotal();
            }
        };
    
        tableEdit.addBlankRows = function() {
            tableEdit.ListRows = tableEdit.ListRows + 1;
            addNewRow(tableEdit.Table.rows.length - 1, tableEdit.ListRows);
            if (fnExist("sumtotal")) sumtotal();
        };
    
        tableEdit.checkEditRow = function(row) {
            var chk = checkRow(row);
            if (chk == 0 && fnExist("checkrow")) { if (!checkrow(row)) chk = 1; }
            if (chk == 0) {
                CMSC.$$("Row_" + row).innerHTML = '<img src="/Inc/inc/rowok.gif" border="0">';
            } else if (chk == 1) {
                CMSC.$$("Row_" + row).innerHTML = '<img src="/Inc/inc/rowerr.gif" border="0">';
            } else {
                CMSC.$$("Row_" + row).innerHTML = '&nbsp;';
            }
            CMSC.$$("RowCheck_" + row).value = chk;
        };
    
        tableEdit.submitCheck = function() {
            var isok = true;
            var submitRows = "";
            for (var i = 1; i < tableEdit.Table.rows.length - 1; i++) {
                var selbox = tableEdit.Table.rows[i].cells[1].getElementsByTagName("INPUT")[0];
                var rowno = selbox.value;
                var ischeck = parseInt(CMSC.$$("RowCheck_" + rowno).value);
                if (ischeck == 1) {
                    isok = false;
                    break;
                }
            }
            return isok;
        };
    
        tableEdit.submitRows = function() {
            var j = 0;
            var submitRows = "";
            for (var i = 1; i < tableEdit.Table.rows.length - 1; i++) {
                var selbox = tableEdit.Table.rows[i].cells[1].getElementsByTagName("INPUT")[0];
                var rowno = selbox.value;
                var ischeck = parseInt(CMSC.$$("RowCheck_" + rowno).value);
                if (ischeck == 0) {
                    if (j > 0) submitRows = submitRows + ",";
                    submitRows = submitRows + rowno;
                    j++;
                }
            }
            return submitRows;
        };
    
        tableEdit.checkNumber = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(0);
            } else {
                src.value = "0";
            }
        };
    
        tableEdit.checkFloat1 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(1);
            } else {
                src.value = "0.0";
            }
        };
    
        tableEdit.checkFloat2 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(2);
            } else {
                src.value = "0.00";
            }
        };
    
        tableEdit.checkFloat3 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(3);
            } else {
                src.value = "0.000";
            }
        };
    
        tableEdit.checkFloat4 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(4);
            } else {
                src.value = "0.0000";
            }
        };
    
        tableEdit.checkFloat5 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(5);
            } else {
                src.value = "0.00000";
            }
        };
    
        tableEdit.checkFloat6 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(6);
            } else {
                src.value = "0.000000";
            }
        };
    
        tableEdit.checkFloat7 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(7);
            } else {
                src.value = "0.0000000";
            }
        };
    
        tableEdit.checkFloat8 = function(src) {
            var filter = /^-?d+.?d{0,8}$/;
            if (filter.test(src.value)) {
                var val = parseFloat(src.value);
                src.value = val.toFixed(8);
            } else {
                src.value = "0.00000000";
            }
        };
    
        return tableEdit;
    }
  • 相关阅读:
    1.1 Recruitment 1.1.4 Sample Test(II)
    1.1 Recruitment 1.1.4 Sample Test(I)
    微信登录接口
    谷歌浏览器保留页面跳转前的请求
    积分墙项目接口文档
    @SneakyThrows
    security中使用单元测试
    Prometheus监控系统
    大数据-shell-脚本入门-开头格式、运行方式、多命令处理
    大数据-shell-概述
  • 原文地址:https://www.cnblogs.com/yueyuepeng/p/7131792.html
Copyright © 2011-2022 走看看