docs: function setColumnVisibleByIndex(index, visible) {
      if (index >= 0) {
          var column = this.gridCompColumnArr[index],
              visibleIndex = this.getVisibleIndexOfColumn(column),
              canVisible = column.options.canVisible,
              l = $('input:checked', $('#' + this.options.id + '_column_menu_columns_ul')).length;
          if (!canVisible && visible == false) {
              return;
          }
          // 显示处理
          if (column.options.visible == false && visible) {
              var htmlStr = '<col';
              if (column.options.width) {
                  htmlStr += ' style="width:' + this.formatWidth(column.options.width) + '"';
              }
              htmlStr += '>';
              // 当前列之后的显示列的index
              var nextVisibleIndex = this.getNextVisibleInidexOfColumn(column);
              $('#' + this.options.id + '_header_table th:eq(' + index + ')').css('display', "");
              $('#' + this.options.id + '_content_table th:eq(' + index + ')').css('display', "");
              $('td:eq(' + index + ')', $('#' + this.options.id + '_content tbody tr')).css('display', "");
              if (nextVisibleIndex < 0) {
                  this.lastVisibleColumn = column;
                  // 添加在最后面
                  try {
                      $('#' + this.options.id + '_header_table col:last')[0].insertAdjacentHTML('afterEnd', htmlStr);
                      $('#' + this.options.id + '_content_table col:last')[0].insertAdjacentHTML('afterEnd', htmlStr);
                  } catch (e) {
                      $('#' + this.options.id + '_header_table col:last').after(htmlStr);
                      $('#' + this.options.id + '_content_table col:last').after(htmlStr);
                  }
              } else {
                  // 添加在下一个显示列之前
                  try {
                      $('#' + this.options.id + '_header_table col:eq(' + (nextVisibleIndex - 1) + ')')[0].insertAdjacentHTML('beforeBegin', htmlStr);
                      $('#' + this.options.id + '_content_table col:eq(' + (nextVisibleIndex - 1) + ')')[0].insertAdjacentHTML('beforeBegin', htmlStr);
                  } catch (e) {
                      $('#' + this.options.id + '_header_table col:eq(' + (nextVisibleIndex - 1) + ')').before(htmlStr);
                      $('#' + this.options.id + '_content_table col:eq(' + (nextVisibleIndex - 1) + ')').before(htmlStr);
                  }
              }
              var newContentW = this.contentWidth + parseInt(column.options.width);
              if (this.showType == 'grid') {
                  $('#' + this.options.id + '_column_menu_columns_ul li input:eq(' + index + ')')[0].checked = true;
              }
          }
          // 隐藏处理
          if (column.options.visible == true && !visible) {
              $('#' + this.options.id + '_header_table th:eq(' + index + ')').css('display', "none");
              $('#' + this.options.id + '_header_table col:eq(' + visibleIndex + ')').remove();
              $('#' + this.options.id + '_content_table th:eq(' + index + ')').css('display', "none");
              $('#' + this.options.id + '_content_table col:eq(' + visibleIndex + ')').remove();
              $('td:eq(' + index + ')', $('#' + this.options.id + '_content_table tbody tr')).css('display', "none");
              // 隐藏之后需要判断总体宽度是否小于内容区最小宽度，如果小于需要将最后一列进行扩展
              var newContentW = this.contentWidth - parseInt(column.options.width);
              if (this.showType == 'grid') {
                  $('#' + this.options.id + '_column_menu_columns_ul li input:eq(' + index + ')')[0].checked = false;
              }
              if (this.lastVisibleColumn == column) {
                  var allVisibleColumns = this.getAllVisibleColumns();
                  this.lastVisibleColumn = allVisibleColumns[allVisibleColumns.length - 1];
              }
          }
          column.options.visible = visible;
          var w = this.contentWidthChange(newContentW);
          this.lastVisibleColumn.options.width = this.lastVisibleColumnWidth;
          this.contentWidth = w;
          this.resetThVariable();
          this.noScrollWidthReset();
          this.contentMinWidth = parseInt(this.wholeWidth) - parseInt(this.leftW) - parseInt(this.fixedWidth);
          if (this.contentMinWidth < 0) this.contentMinWidth = 0;
          if (this.contentRealWidth < this.contentMinWidth) {
              this.contentWidth = this.contentMinWidth;
              var oldWidth = this.lastVisibleColumn.options.width;
              this.lastVisibleColumnWidth = oldWidth + (this.contentMinWidth - this.contentRealWidth);
              // modfied by tianxq1 最后一列自动扩展
              this.lastVisibleColumn.options.width = this.lastVisibleColumnWidth;
              // this.setColumnWidth(this.lastVisibleColumn, this.lastVisibleColumnWidth);
          } else {
              this.contentWidth = this.contentRealWidth;
          }
          this.resetColumnWidthByRealWidth();
          this.saveGridCompColumnArrToLocal();
  
          var columnAllCheck = $('input', $('#' + this.options.id + '_column_menu_ul .header'));
          if (columnAllCheck.length > 0) {
              var lll = $('input:not(:checked)', $('#' + this.options.id + '_column_menu_columns_ul')).length;
              if (lll > 0) {
                  columnAllCheck[0].checked = false;
              } else {
                  columnAllCheck[0].checked = true;
              }
          }
      }
  }