Работа с функцией выделения GridJs

Работа с функцией выделения GridJs

Мы поддерживаем следующие JS API для функции выделения

  • Включить выделение и установить стиль выделения, все API выделения будут применяться только после установки стиля выделения в активном рабочем листе
xs.sheet.showHighlights(style)
 // the parameter is:
 style: the style for highlight ,currently only support color
 for example: {'color':'rgba(85, 57, 47, 0.08)'}
  • Обновить установленный стиль выделения в активном рабочем листе
xs.sheet.updateHighlightStyle(style)
 // the parameter is:
 style: the style for highlight ,currently only support color
 for example: {'color':'rgba(85, 57, 47, 0.08)'}
  • Отключить выделение в активном рабочем листе
xs.sheet.hideHighlights()
  • Добавить текст ячейки для выделения в активный рабочий лист
xs.sheet.addHighlightText(row,col,startpostion,endposition)
    // the parameters are:
	row:row index 
	col:column index
	startpostion: highlight start postion in cell text 
	endpostion: highlight end postion in cell text 
    //it support multiple range postion inside one cell
  • Удалить выделение для текста ячейки в массиве в активном рабочем листе
xs.sheet.removeHighlightText(row,col,startpostion,endposition)
    // the parameters are:
	row:row index 
	col:column index
	startpostion: highlight start postion in cell text 
	endpostion: highlight end postion in cell text 
  • Получить массив для выделения текста ячейки в активном рабочем листе
xs.sheet.getHighlightTexts()
  • Добавить диапазон ячеек для выделения в активном рабочем листе
xs.sheet.addHighlightRange(sri,sci,eri,eci)
    // the parameters are:
	sri:start row index of cell range
	sci:start column index of cell range
	eri:end row index of cell range
	eci:end column index of cell range
  • Удалить выделение для диапазона ячеек в массиве в активном рабочем листе
xs.sheet.removeHighlightRange(sri,sci,eri,eci)
     // the parameters are:
	sri:start row index of cell range
	sci:start column index of cell range
	eri:end row index of cell range
	eci:end column index of cell range
  • Получить массив для выделения диапазона ячеек в активном рабочем листе
xs.sheet.getHighlightRanges()
  • Установить диапазон ячеек для инверсного выделения в активном рабочем листе
xs.sheet.setHighlightInverseRange(sri,sci,eri,eci)
    // the parameters are:
	sri:start row index of cell range
	sci:start column index of cell range
	eri:end row index of cell range
	eci:end column index of cell range
  • Удалить выделение для инверсного выделения в активном рабочем листе
xs.sheet.removeHighlightInverseRange()

  • Получить диапазон ячеек инверсного выделения в активном рабочем листе
xs.sheet.getHighlightInverseRange()
  • Добавить форму в массив выделения в активном рабочем листе
xs.sheet.addHighlightShape(shapeid)
    // the parameters are:
    shapeid: the id of shape, can be find in xs.sheet.data.shapes
  • Удалить выделение формы в массиве в активном рабочем листе
xs.sheet.removeHighlightShape(shapeid)
     // the parameters are:
    shapeid: the id of shape, can be find in xs.sheet.data.shapes
  • Получить массив для выделения формы в активном рабочем листе
xs.sheet.getHighlightShaps()
  • Добавить текстовое поле для выделения, текстовое поле - это особый тип формы, свойство типа которой: “TextBox”, в активном рабочем листе
xs.sheet.addHighlightTextBox(shapeid, startpostion, endposition)
    // the parameters are:
    shapeid: the id of shape, can be find in xs.sheet.data.shapes whose type is 'TextBox'
    startpostion: highlight start postion in the text of textbox
    endpostion: highlight end postion in the text of textbox
    //it support multiple range postion inside one textbox
  • Удалить выделение диапазона в текстовом поле, текстовое поле - это особый тип формы, свойство типа которой: “TextBox”, в активном рабочем листе
xs.sheet.removeHighlightTextBox(shapeid, startpostion, endposition)
    // the parameters are:
    shapeid: the id of shape, can be find in xs.sheet.data.shapes whose type is 'TextBox'
    startpostion: highlight start postion in the text of textbox
    endpostion: highlight end postion in the text of textbox
    //it support multiple range postion inside one textbox
  • Добавить изображение для выделения массива в активном рабочем листе
xs.sheet.addHighlightImage(imageid)
    // the parameters are:
    imageid: the id of image, can be find in xs.sheet.data.images
  • Удалить выделение изображения в массиве в активном рабочем листе
xs.sheet.removeHighlightImage(imageid)
     // the parameters are:
    imageid: the id of image, can be find in xs.sheet.data.images
  • Получить массив для выделения изображения
xs.sheet.getHighlightImages()
  • Установить выделение всех объектов в активном рабочем листе, включая все формы и изображения, а также всю область листа
xs.sheet.setHighlightAll(ishighlightall,isrerender=true)
   // the parameters are:
   ishighlightall: true or false,whether to highlight all
   isrerender: true or false,whether to reRender
  • Установить пользовательскую функцию выделения изображения
xs.sheet.setCustomHighlightImgFunc(func)
   // the parameters are:
   func: the custom highlight image function, it shall take two parameters ,first is ishighlight,the second one is the fabric image object 
   //we use fabric js to manage image object, please refer to http://fabricjs.com/image-filters to check more info
   below is an example for the decleare function: 
   const customHighlightImage = (ishighlight, imgobj) => {
            imgobj.filters[0] = ishighlight ? new fabric.Image.filters.Sepia() : false;
            imgobj.applyFilters();
        }

  • Очистить настройки выделения для активного рабочего листа
xs.sheet.clearHighlights()

Выделение для объекта текстового поля

текстовое поле - это особый тип формы, свойство типа которой: “TextBox”, например: нижеприведенный код покажет, какая форма является текстовым полем

for (let shape of xs.sheet.data.shapes) {
    if (shape.type === 'TextBox') {
        console.log(shape.id + ' is a textbox');
    }
}
  • Добавить выделение для объекта текстового поля
    addHighlight(startpostion,endposition)
    // the parameters are:
	startpostion: highlight start postion in textbox
	endpostion: highlight end postion in textbox

//for example,we assume shape 0 is a textbox object
const textbox=xs.sheet.data.shapes[0];
//first we shall add to highlight shape to enable the highlight for the textbox shape object,it support multiple range postion 
 xs.sheet.addHighlightShape(textbox.id);
 textbox.addHighlight(5,10);
 textbox.addHighlight(18,28);
  • Удалить выделение для объекта текстового поля
    removeHighlight(startpostion,endposition)
    // the parameters are:
	startpostion: highlight start postion in textbox
	endpostion: highlight end postion in textbox
    //for example,we assume shape 0 is a textbox object
     const textbox=xs.sheet.data.shapes[0];
     textbox.removeHighlight(5,10);
  • Получить выделение для объекта текстового поля
    getHighlight()
    //for example,we assume shape 0 is a textbox object
     const textbox=xs.sheet.data.shapes[0];
     textbox.getHighlight();
  • Изменить цвет фона для объекта текстового поля
    setBackgroundColor(color)
    // the parameters are:
        color: the html color value in hex string value
    //for example,we assume shape 0 is a textbox object,this will set the background color to Yellow 
     const textbox=xs.sheet.data.shapes[0];
     textbox.setBackgroundColor('#FFFF00');
  • Автоматически изменить цвет фона и цвет текста для получения визуального активного эффекта
    setActiveEffect(boolvalue)
    // the parameters are:
        boolvalue: if true,will change background color and the text color of the textbox object;if false,restore to original appearence
  • скрыть/показать содержимое текста в объекте текстового поля
    hideText(boolvalue)
    // the parameters are:
        boolvalue: if true,will not display the text in the textbox object;if false,restore to original appearence

Вы можете найти больше на нашей демонстрационной странице github https://github.com/aspose-cells/Aspose.Cells-for-.NET/blob/master/Examples_GridJs/wwwroot/xspread/index.html