setTableSelection (wbk, selectedIndexSeries, selectedIndexCols, callback, selection, left, top, width, height);
wbk. Задает рабочую книгу, экземпляр класса Workbook;
selectedIndexSeries. Задает массив индексов рядов в таблице;
selectedIndexCols. Задает массив индексов столбцов в таблице;
callback. Задает обработчик окончания выполнения операции;
selection. Задает устанавливаемую отметку;
left. Задает индекс левой ячейки отметки;
top. Задает индекс верхней ячейки отметки;
width. Если таблица повёрнута, то - ширина таблицы без учёта фиксированных областей, иначе всегда равно 1;
height. Если таблица повёрнута, то всегда равно 1, иначе высота таблицы без учёта фиксированных областей.
Метод setTableSelection устанавливает отметку в таблице.
Для выполнения примера предполагается наличие на странице компонента WorkbookBox с наименованием «workbookBox» (см. «Пример создания компонента WorkbookBox»), также необходимо чтобы в открытой рабочей книге было минимум три ряда, и минимум 4 столбца, а в обработчике события открытия документа необходимо добавить следующий код:
var setTableSelectionButt = new PP.Ui.Button({ ParentNode: document.body, //Родительский узел DOM Content: "Выделить", //Подпись Click: PP.Delegate(onClickTableSelection) }); function onClickTableSelection() { var source = workbookBox.getSource().getActiveSheet();//возвращаем экземпляр класса PP.TS.Workbook var selectedIndexSeries = [0,1,2]; var selectedIndexCols = [2,4] var selection = {"range": {}, "type": "Normal"}; selection.range = { "height": 0, "left": 0, "parts": {}, "top": 0, "type": "MultiPart", "width": 0 } selection.range.parts = {it : []}; selection.range.parts.it.push( { "height": 3, "left": 11, "top": 1, "type": "Cells", "width": 3 }); var left = 1; var top = 1; var width = 1; var height = 3; //Устанавливаем отметку в таблице tsService.setTableSelection(source, selectedIndexSeries, selectedIndexCols, PP.Delegate(onResponse), selection, left, top, width, height); function onResponse(sender, args) { var wbk = args.Args.Workbook; var minSer = Math.min.apply(null, wbk.getSelectedIndexSeries())+1; var maxSer = Math.max.apply(null, wbk.getSelectedIndexSeries())+1; var minCols = Math.min.apply(null, wbk.getSelectedIndexCols()); var maxCols = Math.max.apply(null, wbk.getSelectedIndexCols()); var gv = workbookBox.getDataView().getGridView(); var selection = gv.getSelection(); gv._GridSelection._SelectedAreas[0].Range._Corners.blCoord.colIndex = minCols; gv._GridSelection._SelectedAreas[0].Range._Corners.blCoord.rowIndex = maxSer; gv._GridSelection._SelectedAreas[0].Range._Corners.brCoord.colIndex = maxCols; gv._GridSelection._SelectedAreas[0].Range._Corners.brCoord.rowIndex = maxSer; gv._GridSelection._SelectedAreas[0].Range._Corners.tlCoord.colIndex = minCols; gv._GridSelection._SelectedAreas[0].Range._Corners.tlCoord.rowIndex = minSer; gv._GridSelection._SelectedAreas[0].Range._Corners.trCoord.colIndex = maxCols; gv._GridSelection._SelectedAreas[0].Range._Corners.trCoord.rowIndex = minSer; workbookBox.getDataView()._TabStatPanel.expand(); workbookBox.getDataView()._TabStatPanel.collapse(); } }
После выполнения примера на html-странице будет размещена кнопка с наименованием «Выделить». При нажатии на которую, в таблице будет выделен ячейки, заданный в параметрах метода setTableSelection:
См. также: