Редактор электронных таблиц Работа с ячейками
Содержание
- Выбор ячейки
- Обратный вызов выбора ячейки
- Удаление ячейки
- WorksheetView.removeCellShiftUp
- WorksheetView.removeCellShiftLeft
- Очистить ячейку
- WorksheetView.clearCurrentCellFormatting
- WorksheetView.clearCurrentCellContents
- WorksheetView.clearCurrentCell
Выбор ячейки
Используйте указатель мыши для выделения ячейки. Щелкните по ячейке, чтобы выбрать ее. Выбранная ячейка выделяется жирным прямоугольником.
Как это работает?
Когда пользователь щелкает по ячейке, событие обрабатывается функцией обратного вызова JavaScript, которая привязана к компоненту Primefaces.
Функция обратного вызова выбора ячейки
var columnId = $(this).find('.ui-cell-editor-input input').attr('data-columnid');
var rowId = $(this).find('.ui-cell-editor-input input').attr('data-rowid');
var clientId = $(this).find('.ui-cell-editor').attr('id');
PF('currentColumnIdValue').jq.val(columnId);
PF('currentRowIdValue').jq.val(rowId);
PF('currentCellClientIdValue').jq.val(clientId);
if ($(this).find('.ui-cell-editor-output div').hasClass('b')) {
PF('boldOptionButton').check();
} else {
PF('boldOptionButton').uncheck();
}
if ($(this).find('.ui-cell-editor-output div').hasClass('i')) {
PF('italicOptionButton').check();
} else {
PF('italicOptionButton').uncheck();
}
if ($(this).find('.ui-cell-editor-output div').hasClass('u')) {
PF('underlineOptionButton').check();
} else {
PF('underlineOptionButton').uncheck();
}
PF('fontOptionSelector').selectValue($(this).find('.ui-cell-editor-output div').css('font-family').slice(1, -1));
PF('fontSizeOptionSelector').selectValue($(this).find('.ui-cell-editor-output div')[0].style.fontSize.replace('pt', ''));
['al', 'ac', 'ar', 'aj'].forEach(function(v) {
if ($(this).find('.ui-cell-editor-output div').hasClass(v)) {
// TODO: save the value to PF('alignOptionSelector');
}
});
PF('currentColumnWidthValue').jq.val($(this).width());
PF('currentRowHeightValue').jq.val($(this).height());
$($this.selectedCell).removeClass('sheet-selected-cell');
$(this).addClass('sheet-selected-cell');
$this.selectedCell = this;
Удаление ячейки
Чтобы удалить ячейку:
- Щелкните по ячейке, которую хотите удалить.
- Переключитесь на вкладку Формат.
- Нажмите на кнопку Удалить ячейку.
- Выберите кнопку Сдвинуть ячейки вверх или Сдвинуть ячейки влево.
Редактор удалит выбранную ячейку. Смежные ячейки автоматически сдвинутся горизонтально или вертикально, чтобы скорректировать пространство.
Как это работает?
Сдвинуть ячейки вверх и Сдвинуть ячейки влево обрабатываются бэкэнд-бином JSF WorksheetView. Исходный код соответствующих методов выглядит следующим образом:
WorksheetView.removeCellShiftUp
public void removeCellShiftUp() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().deleteRange(currentRowId, currentColumnId, currentRowId, currentColumnId, com.aspose.cells.ShiftType.UP);
purge();
}
WorksheetView.removeCellShiftLeft
public void removeCellShiftLeft() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().deleteRange(currentRowId, currentColumnId, currentRowId, currentColumnId, com.aspose.cells.ShiftType.LEFT);
purge();
}
Очистить ячейку
Чтобы очистить ячейку:
- Щелкните по ячейке, которую хотите очистить.
- Переключитесь на вкладку Формат.
- Нажмите на кнопку Очистить ячейку.
- Выберите опцию Форматы, Содержимое или Оба.
Редактор очистит выбранную ячейку.
Как это работает?
Форматы, Содержимое и Оба обрабатываются бэкэнд-бином JSF WorksheetView. Исходный код соответствующих методов приведен ниже:
WorksheetView.clearCurrentCellFormatting
public void clearCurrentCellFormatting() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().clearFormats(currentRowId, currentColumnId, currentRowId, currentColumnId);
reloadCell(currentColumnId, currentRowId);
RequestContext.getCurrentInstance().update(currentCellClientId);
}
WorksheetView.clearCurrentCellContents
public void clearCurrentCellContents() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().clearContents(currentRowId, currentColumnId, currentRowId, currentColumnId);
reloadCell(currentColumnId, currentRowId);
RequestContext.getCurrentInstance().update(currentCellClientId);
}
WorksheetView.clearCurrentCell
public void clearCurrentCell() {
if (!isLoaded()) {
return;
}
getAsposeWorksheet().getCells().clearRange(currentRowId, currentColumnId, currentRowId, currentColumnId);
reloadCell(currentColumnId, currentRowId);
RequestContext.getCurrentInstance().update(currentCellClientId);
}