本帖最后由 Richard.Huang 于 2023-8-3 12:28 编辑
您好,您画的这个**可以添加到单元格的装饰中,然后通过监听表格新增事件实现style的复制以此就可以将自定义图标带过来了:
1. 添加装饰API:https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/features/cells/cell-style-decoration-icons#timestamp
// 示例代码
var style;
function setIcon(row, col, style) {
style.hAlign = GC.Spread.Sheets.HorizontalAlign.center;
style.vAlign = GC.Spread.Sheets.VerticalAlign.center;
sheet.setStyle(row, col, style);
sheet.setText(row, col, 'Cell Text');
sheet.getRange(row, col, 1, 1)
.setBorder(new GC.Spread.Sheets.LineBorder("green", GC.Spread.Sheets.LineStyle.dashed)
, { outline: true });
};
//left side in the cell
style = new GC.Spread.Sheets.Style();
style.decoration = {
icons: [
{
src: 'data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTIiIGhlaWdodD0iMTIiIHZpZXdCb3g9IjAgMCAxMiAxMiIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjEyIiBoZWlnaHQ9IjEyIiBmaWxsPSJ0cmFuc3BhcmVudCIvPgo8cGF0aCBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGNsaXAtcnVsZT0iZXZlbm9kZCIgZD0iTTcgOUg1TDUgNS45NjA0NmUtMDhIN0w3IDlaTTYgMTBDNi41NTIyOCAxMCA3IDEwLjQ0NzcgNyAxMUM3IDExLjU1MjMgNi41NTIyOCAxMiA2IDEyQzUuNDQ3NzIgMTIgNSAxMS41NTIzIDUgMTFDNSAxMC40NDc3IDUuNDQ3NzIgMTAgNiAxMFoiIGZpbGw9IiNFNjUyNDkiLz4KPC9zdmc+Cg==',
position: GC.Spread.Sheets.IconPosition.left
}
]
};
setIcon(1, 1, style);
2. 添加table新增行事件:https://demo.grapecity.com.cn/spreadjs/help/api/classes/GC.Spread.Sheets.Events#toprowchanged
// 监听表插入事件
sheet.bind(GC.Spread.Sheets.Events.TableRowsChanged, function (e, data) {
var intIndex = sheet.getSelections()[0].row;
console.log(intIndex)
sheet.copyTo(intIndex - 1, 0, intIndex, 0, 1, sheet.getColumnCount(), GC.Spread.Sheets.CopyToOptions.style);
});
|
|