편집 제한
특정 셀을 편집 기능이 불가능한 'readonly' 상태로 변경합니다.
요약
특정 셀을 편집 기능이 불가능한 'readonly' 상태로 변경합니다.입력값
Number : 수정불가 Row Index
Number : 수정불가 Column Index
Boolean : true : 수정불가 / false : 수정불가 해제
예) 단일 셀에 대한 사항 : datagrid1.setCellReadOnly(8,2,true); 다중 셀에 대한 사항 : datagrid1.setCellsReadOnly(1, 0, 5, 6, true);
상세설명
특정 셀이나 행을 ReadOnly 시키면 컬럼이 input 타입일 때 셀 편집 기능을 불가능하게 합니다.<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <html xmlns="http://www.w3.org/1999/xhtml" lang="ko"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0,maximum-scale=1.0" /> <title> SB Grid </title> <link href="/kr/co/softbowl/css/Sbgrid_default.css" type="text/css" rel="stylesheet" /> <link href="/css/sort.css" type="text/css" rel="stylesheet" /> <jsp:include page="/view/common/cmCommon.jsp"/> <script type="text/javascript" src="/kr/co/softbowl/SBGrid.js"></script> <script type="text/javascript" src="/js/jsondata/DATA_JSON_116_people.js"></script> <style type="text/css"> table{border:0px solid #d6d6d6 !important;} table th{border:0px solid #d6d6d6 !important;} table td{border:0px solid #d6d6d6 !important; } </style> <script type="text/javascript"> SBGrid.DEF.DOMAIN = "../../"; var datagrid1; $(document).ready(function(){ __createElements(); }); function __createElements (){ var GridInitInfo = { "strParentId" : "sbGridArea", "strId": "datagrid1", "strCaption": "FirstName^LastName^Company^Address^City^County^State", "strColWidth": "100, 100, 200, 200, 150, 130, 70, 100, 110, 110, 250, 300", "strJsonRef": "grid_data", "strDataHeight":"29", "strStyle": "width:100%; height:480px; ", "strBackColorAlternate" : "#f7f7f7", "strSelectMode" : "free" }; var SBGridColumnInitInfo = [ { "id": "col1", "type": "input", "ref": "FirstName" }, { "id": "col2", "type": "input", "ref": "LastName" }, { "id": "col3", "type": "input", "ref": "Company" }, { "id": "col4", "type": "input", "ref": "Address" }, { "id": "col5", "type": "input", "ref": "City" }, { "id": "col6", "type": "input", "ref": "County" }, { "id": "col7", "type": "input", "ref": "State", "style" : "text-align:center" } ]; if(SBGrid.getGrid('datagrid1') != null){ datagrid1.destroy(); datagrid1 = null; } datagrid1 = createSBGrid(GridInitInfo,SBGridColumnInitInfo); } function createSBGrid(SBGridInitInfo, SBGridColumnInitInfo){ var objJSONdata = new Object(); objJSONdata.objSBGridInitInfo = SBGridInitInfo; objJSONdata.arSBGridColumnInitInfo = SBGridColumnInitInfo; return SBGrid.DEF.createSBGrid(objJSONdata); }; function readonlycell() { datagrid1.clearSelection(); datagrid1.setCellReadOnly(8, 2, true); datagrid1.selectCells(8, 2, 8, 2); datagrid1.setCellStyle('background-color', 8, 2, 8, 2, '#D1B2FF'); datagrid1.clearSelection(); }; function readonlycells() { datagrid1.clearSelection(); datagrid1.setCellsReadOnly(1, 0, 5, 6, true); datagrid1.selectCells(1, 0, 5, 6); datagrid1.setCellStyle('background-color', 1, 0, 5, 6, '#D1B2FF'); datagrid1.clearSelection(); }; function getreadonly(){ if (nClickedRow == null) { nClickedRow = datagrid1.getMouseRow(); nClickedCol = datagrid1.getMouseCol(); } var bVal = datagrid1.getCellReadOnly(nClickedRow, nClickedCol); if(bVal==1) { alert("반환값 :" + bVal + ", readonly가 설정되어 있습니다."); } else if (bVal == 0) { { alert("반환값 :" + bVal + ", readonly가 설정되어 있지않습니다."); } else if (bVal == null) { alert("반환값 :" + bVal + ", readonly가 설정되어 있지않습니다."); } }; </script> </head> <body> <div id="button_group"> <input type="button" class="sbgrid_demo_button1" style="width:33%; height:30px;" id="buttonl" value="(8,2) 값 수정 불가" onclick="readonlycell();"/> <input type="button" class="sbgrid_demo_button2" style="width:33%; height:30px;" id="button2" value="1행부터 5행까지 수정 불가" onclick="readonlycells();"/> <input type="button" class="sbgrid_demo_button3" style="width:33%; height:30px;" id="button3" value="반환값 가져오기" onclick="getreadonly();"/><br/><br/> </div> <div id="sbGridArea"></div> </body> </html>