Commit 9624a56e authored by Igor.Zotov's avatar Igor.Zotov Committed by Alexander.Trofimov

http://bugzserver/show_bug.cgi?id=25737 - При вставке таблицы...

http://bugzserver/show_bug.cgi?id=25737 - При вставке таблицы отформатированной по образцу, она вставляется сначала без оформления и фильтров

git-svn-id: svn://192.168.3.15/activex/AVS/Sources/TeamlabOffice/trunk/OfficeWeb@57751 954022d7-b5bf-4e40-9824-e11837661b57
parent 3b295817
...@@ -2919,10 +2919,15 @@ ...@@ -2919,10 +2919,15 @@
{ {
var oThis = this; var oThis = this;
var aIndexes = []; var aIndexes = [];
var bIsTablePartContainActiveRange;
if(oThis.isCopyPaste) if(oThis.isCopyPaste)
{ {
for(var i = oThis.isCopyPaste.c1; i <= oThis.isCopyPaste.c2; i++) for(var i = oThis.isCopyPaste.c1; i <= oThis.isCopyPaste.c2; i++)
aIndexes.push(i); aIndexes.push(i);
var api = window["Asc"]["editor"];
var ws = api.wb.getWorksheet();
bIsTablePartContainActiveRange = ws.autoFilters.isTablePartContainActiveRange();
} }
else else
{ {
...@@ -2935,8 +2940,13 @@ ...@@ -2935,8 +2940,13 @@
var cell = aCells[aIndexes[i]]; var cell = aCells[aIndexes[i]];
//готовим ячейку к записи //готовим ячейку к записи
if(!oThis.isCopyPaste || (oThis.isCopyPaste && cell)) if(!oThis.isCopyPaste || (oThis.isCopyPaste && cell))
{ {
var nXfsId = this.prepareXfs(cell.xfs); var nXfsId;
if(oThis.isCopyPaste && bIsTablePartContainActiveRange)
nXfsId = this.prepareXfs(cell.compiledXfs);
else
nXfsId = this.prepareXfs(cell.xfs);
//сохраняем как и Excel даже пустой стиль(нужно чтобы убрать стиль строки/колонки) //сохраняем как и Excel даже пустой стиль(нужно чтобы убрать стиль строки/колонки)
if(null != cell.xfs || false == cell.isEmptyText()) if(null != cell.xfs || false == cell.isEmptyText())
this.bs.WriteItem(c_oSerRowTypes.Cell, function(){oThis.WriteCell(cell, nXfsId);}); this.bs.WriteItem(c_oSerRowTypes.Cell, function(){oThis.WriteCell(cell, nXfsId);});
......
...@@ -2372,6 +2372,23 @@ var gUndoInsDelCellsFlag = true; ...@@ -2372,6 +2372,23 @@ var gUndoInsDelCellsFlag = true;
} }
return result; return result;
}, },
//если активная область полностью лежит внутри форматированной таблицы, но не равно ей
isTablePartContainActiveRange: function()
{
var ws = this.worksheet;
var aWs = this._getCurrentWS();
var activeRange = ws.activeRange;
var tableParts = aWs.TableParts;
var tablePart;
for(var i = 0; i < tableParts.length; i++)
{
tablePart = tableParts[i];
if(tablePart && tablePart.Ref && tablePart.Ref.containsRange(activeRange) && !tablePart.Ref.isEqual(activeRange))
return true;
}
return false;
},
//при закрытии диалогового окна числового фильтра //при закрытии диалогового окна числового фильтра
_applyDigitalFilter: function(ar, autoFiltersObject) { _applyDigitalFilter: function(ar, autoFiltersObject) {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment