docs: function addOneRow(row, index) {
  
      if (typeof this.options.filterDataFun == 'function') {
          var rows = this.options.filterDataFun.call(this, [row]);
          row = rows[0];
      }
      row = this.getGridRow(row);
      var oThis = this,
          displayFlag = 'none',
          rowObj = {},
          parentIndex,
          parentChildLength = 0,
          l = this.dataSourceObj.rows.length,
          endFlag = false;
      rowObj.value = row, displayFlag;
      if (this.options.showTree) {
          var treeObj = this.addOneRowTree(row, index, rowObj);
          index = treeObj.index;
          displayFlag = treeObj.displayFlag;
      }
  
      if (this.options.groupField) {
          index = this.getGroupIndex(row, index, rowObj);
      }
  
      if (index != 0) {
          if (index && index > 0) {
              if (l < index) index = l;
          } else {
              index = 0;
          }
      }
      if (l == index) {
          endFlag = true;
      }
      rowObj.valueIndex = index;
      rowObj.value = row;
      this.dataSourceObj.rows.splice(index, 0, rowObj);
      // 如果是在中间插入需要将后续的valueIndex + 1；
      if (this.dataSourceObj.rows.length > index + 1) {
          $.each(this.dataSourceObj.rows, function (i) {
              if (i > index) {
                  this.valueIndex = this.valueIndex + 1;
              }
          });
      }
  
      // 需要重新排序重置变量
      var l = 0;
      if (this.options.showTree) {
          if (this.dataSourceObj.options.values) {
              l = this.dataSourceObj.options.values.length;
          } else {
              this.dataSourceObj.options.values = new Array();
          }
          this.dataSourceObj.options.values.splice(index, 0, row);
          this.addOneRowTreeHasChildF(rowObj);
      } else {
          if (this.dataSourceObj.options.values) {} else {
              this.dataSourceObj.options.values = new Array();
          }
          this.dataSourceObj.options.values.splice(index, 0, row);
      }
  
      if (this.showType == 'grid' && !this.hasChildF) {
          //只有grid展示的时候才处理div，针对隐藏情况下还要添加数据
          this.editClose();
          this.updateEditRowIndex('+', index);
          try {
              var htmlStr = this.createContentOneRow(rowObj, 'normal', displayFlag);
              if (endFlag) {
                  $('#' + this.options.id + '_content_tbody')[0].insertAdjacentHTML('beforeEnd', htmlStr);
              } else {
                  var $$tr = $('#' + this.options.id + '_content_tbody').find('tr[role="row"]')[index - 1];
                  var $$tbody = $('#' + this.options.id + '_content_tbody')[0];
                  if ($$tr) $$tr.insertAdjacentHTML('afterEnd', htmlStr);else if ($$tbody) $$tbody.insertAdjacentHTML('afterBegin', htmlStr);
              }
              if ($('#' + this.options.id + '_content_fixed_div').length > 0) {
                  var htmlStr = this.createContentOneRow(rowObj, 'fixed', displayFlag);
                  if (endFlag) {
                      $('#' + this.options.id + '_content_fixed_tbody')[0].insertAdjacentHTML('beforeEnd', htmlStr);
                  } else {
                      var $$tr = $('#' + this.options.id + '_content_fixed_tbody').find('tr[role="row"]')[index - 1];
                      if ($$tr) $$tr.insertAdjacentHTML('afterEnd', htmlStr);else if ($('#' + this.options.id + '_content_fixed_tbody')[0]) $('#' + this.options.id + '_content_fixed_tbody')[0].insertAdjacentHTML('afterBegin', htmlStr);
                  }
              }
          } catch (e) {
              //IE情况下
              var table = $('#' + this.options.id + '_content_div table')[0];
              if (table) this.createContentOneRowForIE(table, index, rowObj, 'normal', displayFlag);
              var fixedTable = $('#' + this.options.id + '_content_fixed_div table')[0];
              if (fixedTable) this.createContentOneRowForIE(fixedTable, index, rowObj, 'fixed', displayFlag);
          }
          if (this.options.multiSelect) {
              var htmlStr = this.createContentLeftMultiSelectRow(rowObj, displayFlag);
              if (endFlag) {
                  $('#' + this.options.id + '_content_multiSelect')[0].insertAdjacentHTML('beforeEnd', htmlStr);
              } else {
                  var $$div = $('#' + this.options.id + '_content_multiSelect').find('div')[index - 1];
                  if ($$div) $$div.insertAdjacentHTML('afterEnd', htmlStr);else $('#' + this.options.id + '_content_multiSelect')[0].insertAdjacentHTML('afterBegin', htmlStr);
              }
              if (this.options.sumRowFirst && !this.options.sumRowFixed && this.dataSourceObj.rows.length > 0) $('#' + this.options.id + '_content_multiSelect').addClass('u-grid-content-left-sum-first');
          }
          if (this.options.showNumCol) {
              var htmlStr = this.createContentLeftNumColRow(index, row);
              if (endFlag) {
                  $('#' + this.options.id + '_content_numCol')[0].insertAdjacentHTML('beforeEnd', htmlStr);
              } else {
                  var $$div = $('#' + this.options.id + '_content_numCol').find('div')[index - 1];
                  if ($$div) $$div.insertAdjacentHTML('afterEnd', htmlStr);else $('#' + this.options.id + '_content_numCol')[0].insertAdjacentHTML('afterBegin', htmlStr);
              }
              if (this.options.sumRowFirst && !this.options.sumRowFixed && this.dataSourceObj.rows.length > 0) $('#' + this.options.id + '_content_numCol').addClass('u-grid-content-left-sum-first');
              this.resetNumCol();
              this.updateNumColLastRowFlag();
          }
          this.repairSumRow();
          this.repairGroupSumRow(rowObj);
          this.noRowsShowFun();
          this.updateLastRowFlag();
          this.resetLeftHeight();
          if (this.dataSourceObj.rows.length > 0) {
              $('#' + this.options.id + '_grid .u-grid-noScroll-left').css('display', "block");
          } else {
              $('#' + this.options.id + '_grid .u-grid-noScroll-left').css('display', "none");
          }
          var obj = {};
          obj.begin = index;
          obj.length = 1;
          this.renderTypeFun(obj);
          if (this.options.groupField) {
              var groupValue = row[this.options.groupField];
              this.resetGroupFieldTd(groupValue);
          }
      }
  }