whole_func_string: function repaintBody(_elTargetKey, _colGroup, _bodyRow, _groupRow, _list, _scrollConfig) {
      var _elTarget = this.$.panel[_elTargetKey];
  
      if (!isFirstPaint && !_scrollConfig) {
        this.$.livePanelKeys.push(_elTargetKey); // 사용중인 패널키를 모아둠. (뷰의 상태 변경시 사용하려고)
        return false;
      }
  
      var SS = [],
          cgi = void 0,
          cgl = void 0,
          di = void 0,
          dl = void 0,
          tri = void 0,
          trl = void 0,
          ci = void 0,
          cl = void 0,
          col = void 0,
          cellHeight = void 0,
          colAlign = void 0,
          isScrolled = function () {
        // 스크롤값이 변경되거나 처음 호출되었습니까?
        if (typeof _scrollConfig === "undefined" || typeof _scrollConfig['paintStartRowIndex'] === "undefined") {
          _scrollConfig = {
            paintStartRowIndex: 0,
            paintRowCount: _list.length
          };
          return false;
        } else {
          return true;
        }
      }(),
          stripeString = '#fff 0px, #fff ' + (cfg.body.columnHeight - cfg.body.columnBorderWidth) + 'px, #eee ' + (cfg.body.columnHeight - cfg.body.columnBorderWidth) + 'px, #eee ' + cfg.body.columnHeight + 'px';
  
      if (isScrolled) {
        SS.push('<div style="background:repeating-linear-gradient(to top, ' + stripeString + ');' + 'font-size:0;' + 'line-height:0;height: ' + (_scrollConfig.paintStartRowIndex - this.xvar.frozenRowIndex) * _scrollConfig.bodyTrHeight + 'px;"></div>');
      }
  
      SS.push('<table border="0" cellpadding="0" cellspacing="0">');
      SS.push('<colgroup>');
      for (cgi = 0, cgl = _colGroup.length; cgi < cgl; cgi++) {
        SS.push('<col style="width:' + _colGroup[cgi]._width + 'px;"  />');
      }
      SS.push('<col  />');
      SS.push('</colgroup>');
  
      di = _scrollConfig.paintStartRowIndex;
  
      for (dl = function () {
        var len = void 0;
        len = _list.length;
        if (_scrollConfig.paintRowCount + _scrollConfig.paintStartRowIndex < len) {
          len = _scrollConfig.paintRowCount + _scrollConfig.paintStartRowIndex;
        }
        return len;
      }(); di < dl; di++) {
  
        if (_list[di]) {
          var isGroupingRow = false,
              rowTable = void 0,
              odi = typeof _list[di].__origin_index__ !== "undefined" ? _list[di].__origin_index__ : di;
          if (_groupRow && "__isGrouping" in _list[di]) {
            rowTable = _groupRow;
            isGroupingRow = true;
          } else {
            rowTable = _bodyRow;
          }
  
          for (tri = 0, trl = rowTable.rows.length; tri < trl; tri++) {
  
            SS.push('<tr class="tr-' + di % 4 + '', cfg.body.trStyleClass ? _AX6Util2.default.isFunction(cfg.body.trStyleClass) ? ' ' + cfg.body.trStyleClass.call({
              item: _list[di],
              index: di
            }, _list[di], di) : ' ' + cfg.body.trStyleClass : '', '"', isGroupingRow ? ' data-ax6grid-grouping-tr="true"' : '', ' data-ax6grid-tr-data-index="' + di + '"', ' data-ax6grid-tr-data-o-index="' + odi + '"', ' data-ax6grid-selected="' + (_list[di][cfg.columnKeys.selected] || "false") + '"', ' data-ax6grid-disable-selection="' + (_list[di][cfg.columnKeys.disableSelection] || "false") + '"', '>');
            for (ci = 0, cl = rowTable.rows[tri].cols.length; ci < cl; ci++) {
              col = rowTable.rows[tri].cols[ci];
              cellHeight = cfg.body.columnHeight * col.rowspan - cfg.body.columnBorderWidth;
              colAlign = col.align || bodyAlign;
  
              SS.push('<td ', 'data-ax6grid-panel-name="' + _elTargetKey + '" ', 'data-ax6grid-data-index="' + di + '" ', 'data-ax6grid-data-o-index="' + odi + '" ', 'data-ax6grid-column-row="' + tri + '" ', 'data-ax6grid-column-col="' + ci + '" ', 'data-ax6grid-column-rowIndex="' + col.rowIndex + '" ', 'data-ax6grid-column-colIndex="' + col.colIndex + '" ', 'data-ax6grid-column-attr="' + (col.columnAttr || "default") + '" ', function (_focusedColumn, _selectedColumn) {
                var attrs = "";
                if (_focusedColumn) {
                  attrs += 'data-ax6grid-column-focused="true" ';
                }
                if (_selectedColumn) {
                  attrs += 'data-ax6grid-column-selected="true" ';
                }
                return attrs;
              }(this.focusedColumn[di + "_" + col.colIndex + "_" + col.rowIndex], this.selectedColumn[di + "_" + col.colIndex + "_" + col.rowIndex]), 'colspan="' + col.colspan + '" ', 'rowspan="' + col.rowspan + '" ', 'class="' + function (_col) {
                var tdCSS_class = "";
                if (_col.styleClass) {
                  if (_AX6Util2.default.isFunction(_col.styleClass)) {
                    tdCSS_class += _col.styleClass.call({
                      column: _col,
                      key: _col.key,
                      item: _list[di],
                      index: di
                    }) + " ";
                  } else {
                    tdCSS_class += _col.styleClass + " ";
                  }
                }
                if (cfg.body.columnBorderWidth) tdCSS_class += "hasBorder ";
                if (ci == cl - 1) tdCSS_class += "isLastColumn ";
                return tdCSS_class;
              }.call(this, col) + '" ', 'style="height: ' + cellHeight + 'px;min-height: 1px;">');
  
              SS.push(function (_cellHeight) {
                var lineHeight = cfg.body.columnHeight - cfg.body.columnPadding * 2 - cfg.body.columnBorderWidth;
                if (!col.multiLine) {
                  _cellHeight = cfg.body.columnHeight - cfg.body.columnBorderWidth;
                }
  
                return '<span data-ax6grid-cellHolder="' + (col.multiLine ? 'multiLine' : '') + '" ' + (colAlign ? 'data-ax6grid-text-align="' + colAlign + '"' : '') + '" style="height:' + _cellHeight + 'px;' + (col.multiLine ? '' : 'line-height: ' + lineHeight + 'px;') + '">';
              }(cellHeight), isGroupingRow ? getGroupingValue.call(this, _list[di], di, col) : getFieldValue.call(this, _list, _list[di], di, col), '</span>');
  
              SS.push('</td>');
            }
            SS.push('<td ', 'data-ax6grid-column-row="null" ', 'data-ax6grid-column-col="null" ', 'data-ax6grid-data-index="' + di + '" ', 'data-ax6grid-data-o-index="' + odi + '" ', 'data-ax6grid-column-attr="' + "default" + '" ', 'style="height: ' + cfg.body.columnHeight + 'px;min-height: 1px;" ', '></td>');
            SS.push('</tr>');
          }
        }
      }
      SS.push('</table>');
  
      if (isScrolled && _list.length) {
        SS.push('<div style="background:repeating-linear-gradient(to bottom, ' + stripeString + ');' + 'font-size:0;' + 'line-height:0;height: ' + (_list.length - di) * _scrollConfig.bodyTrHeight + 'px;"></div>');
      }
  
      _elTarget.empty();
      SS = SS.join('');
  
      _elTarget.get(0).innerHTML = SS;
  
      this.$.livePanelKeys.push(_elTargetKey); // 사용중인 패널키를 모아둠. (뷰의 상태 변경시 사용하려고)
      return true;
    }
func_code_string: function repaintBody(_elTargetKey, _colGroup, _bodyRow, _groupRow, _list, _scrollConfig) {
      var _elTarget = this.$.panel[_elTargetKey];
  
      if (!isFirstPaint && !_scrollConfig) {
        this.$.livePanelKeys.push(_elTargetKey); // 사용중인 패널키를 모아둠. (뷰의 상태 변경시 사용하려고)
        return false;
      }
  
      var SS = [],
          cgi = void 0,
          cgl = void 0,
          di = void 0,
          dl = void 0,
          tri = void 0,
          trl = void 0,
          ci = void 0,
          cl = void 0,
          col = void 0,
          cellHeight = void 0,
          colAlign = void 0,
          isScrolled = function () {
        // 스크롤값이 변경되거나 처음 호출되었습니까?
        if (typeof _scrollConfig === "undefined" || typeof _scrollConfig['paintStartRowIndex'] === "undefined") {
          _scrollConfig = {
            paintStartRowIndex: 0,
            paintRowCount: _list.length
          };
          return false;
        } else {
          return true;
        }
      }(),
          stripeString = '#fff 0px, #fff ' + (cfg.body.columnHeight - cfg.body.columnBorderWidth) + 'px, #eee ' + (cfg.body.columnHeight - cfg.body.columnBorderWidth) + 'px, #eee ' + cfg.body.columnHeight + 'px';
  
      if (isScrolled) {
        SS.push('<div style="background:repeating-linear-gradient(to top, ' + stripeString + ');' + 'font-size:0;' + 'line-height:0;height: ' + (_scrollConfig.paintStartRowIndex - this.xvar.frozenRowIndex) * _scrollConfig.bodyTrHeight + 'px;"></div>');
      }
  
      SS.push('<table border="0" cellpadding="0" cellspacing="0">');
      SS.push('<colgroup>');
      for (cgi = 0, cgl = _colGroup.length; cgi < cgl; cgi++) {
        SS.push('<col style="width:' + _colGroup[cgi]._width + 'px;"  />');
      }
      SS.push('<col  />');
      SS.push('</colgroup>');
  
      di = _scrollConfig.paintStartRowIndex;
  
      for (dl = function () {
        var len = void 0;
        len = _list.length;
        if (_scrollConfig.paintRowCount + _scrollConfig.paintStartRowIndex < len) {
          len = _scrollConfig.paintRowCount + _scrollConfig.paintStartRowIndex;
        }
        return len;
      }(); di < dl; di++) {
  
        if (_list[di]) {
          var isGroupingRow = false,
              rowTable = void 0,
              odi = typeof _list[di].__origin_index__ !== "undefined" ? _list[di].__origin_index__ : di;
          if (_groupRow && "__isGrouping" in _list[di]) {
            rowTable = _groupRow;
            isGroupingRow = true;
          } else {
            rowTable = _bodyRow;
          }
  
          for (tri = 0, trl = rowTable.rows.length; tri < trl; tri++) {
  
            SS.push('<tr class="tr-' + di % 4 + '', cfg.body.trStyleClass ? _AX6Util2.default.isFunction(cfg.body.trStyleClass) ? ' ' + cfg.body.trStyleClass.call({
              item: _list[di],
              index: di
            }, _list[di], di) : ' ' + cfg.body.trStyleClass : '', '"', isGroupingRow ? ' data-ax6grid-grouping-tr="true"' : '', ' data-ax6grid-tr-data-index="' + di + '"', ' data-ax6grid-tr-data-o-index="' + odi + '"', ' data-ax6grid-selected="' + (_list[di][cfg.columnKeys.selected] || "false") + '"', ' data-ax6grid-disable-selection="' + (_list[di][cfg.columnKeys.disableSelection] || "false") + '"', '>');
            for (ci = 0, cl = rowTable.rows[tri].cols.length; ci < cl; ci++) {
              col = rowTable.rows[tri].cols[ci];
              cellHeight = cfg.body.columnHeight * col.rowspan - cfg.body.columnBorderWidth;
              colAlign = col.align || bodyAlign;
  
              SS.push('<td ', 'data-ax6grid-panel-name="' + _elTargetKey + '" ', 'data-ax6grid-data-index="' + di + '" ', 'data-ax6grid-data-o-index="' + odi + '" ', 'data-ax6grid-column-row="' + tri + '" ', 'data-ax6grid-column-col="' + ci + '" ', 'data-ax6grid-column-rowIndex="' + col.rowIndex + '" ', 'data-ax6grid-column-colIndex="' + col.colIndex + '" ', 'data-ax6grid-column-attr="' + (col.columnAttr || "default") + '" ', function (_focusedColumn, _selectedColumn) {
                var attrs = "";
                if (_focusedColumn) {
                  attrs += 'data-ax6grid-column-focused="true" ';
                }
                if (_selectedColumn) {
                  attrs += 'data-ax6grid-column-selected="true" ';
                }
                return attrs;
              }(this.focusedColumn[di + "_" + col.colIndex + "_" + col.rowIndex], this.selectedColumn[di + "_" + col.colIndex + "_" + col.rowIndex]), 'colspan="' + col.colspan + '" ', 'rowspan="' + col.rowspan + '" ', 'class="' + function (_col) {
                var tdCSS_class = "";
                if (_col.styleClass) {
                  if (_AX6Util2.default.isFunction(_col.styleClass)) {
                    tdCSS_class += _col.styleClass.call({
                      column: _col,
                      key: _col.key,
                      item: _list[di],
                      index: di
                    }) + " ";
                  } else {
                    tdCSS_class += _col.styleClass + " ";
                  }
                }
                if (cfg.body.columnBorderWidth) tdCSS_class += "hasBorder ";
                if (ci == cl - 1) tdCSS_class += "isLastColumn ";
                return tdCSS_class;
              }.call(this, col) + '" ', 'style="height: ' + cellHeight + 'px;min-height: 1px;">');
  
              SS.push(function (_cellHeight) {
                var lineHeight = cfg.body.columnHeight - cfg.body.columnPadding * 2 - cfg.body.columnBorderWidth;
                if (!col.multiLine) {
                  _cellHeight = cfg.body.columnHeight - cfg.body.columnBorderWidth;
                }
  
                return '<span data-ax6grid-cellHolder="' + (col.multiLine ? 'multiLine' : '') + '" ' + (colAlign ? 'data-ax6grid-text-align="' + colAlign + '"' : '') + '" style="height:' + _cellHeight + 'px;' + (col.multiLine ? '' : 'line-height: ' + lineHeight + 'px;') + '">';
              }(cellHeight), isGroupingRow ? getGroupingValue.call(this, _list[di], di, col) : getFieldValue.call(this, _list, _list[di], di, col), '</span>');
  
              SS.push('</td>');
            }
            SS.push('<td ', 'data-ax6grid-column-row="null" ', 'data-ax6grid-column-col="null" ', 'data-ax6grid-data-index="' + di + '" ', 'data-ax6grid-data-o-index="' + odi + '" ', 'data-ax6grid-column-attr="' + "default" + '" ', 'style="height: ' + cfg.body.columnHeight + 'px;min-height: 1px;" ', '></td>');
            SS.push('</tr>');
          }
        }
      }
      SS.push('</table>');
  
      if (isScrolled && _list.length) {
        SS.push('<div style="background:repeating-linear-gradient(to bottom, ' + stripeString + ');' + 'font-size:0;' + 'line-height:0;height: ' + (_list.length - di) * _scrollConfig.bodyTrHeight + 'px;"></div>');
      }
  
      _elTarget.empty();
      SS = SS.join('');
  
      _elTarget.get(0).innerHTML = SS;
  
      this.$.livePanelKeys.push(_elTargetKey); // 사용중인 패널키를 모아둠. (뷰의 상태 변경시 사용하려고)
      return true;
    }
func_documentation_string: 그리드 바디 영역 페인트 함수 
  @param _elTargetKey
  @param _colGroup
  @param _bodyRow
  @param _groupRow
  @param _list
  @param [_scrollConfig]
  @returns {boolean}