1金币
https://demo.grapecity.com.cn/Sp ... /demos/autoComplete。
给单元格加入celltye,不显示下拉框,如图:
参考了上面demo的代码,如下代码:
let availableTags=["CSSd"];
cell.cellType(new AutocompleteCellType(availableTags));
export class AutocompleteCellType extends GC.Spread.Sheets.CellTypes.Base {
constructor(itemNames) {
super()
this.itemNames = [];
if (itemNames && itemNames.length) {
this.itemNames = itemNames;
}
}
createEditorElement(context){
return document.createElement("input");
}
activateEditor(editorContext, cellStyle, cellRect, context){
var $editor = $(editorContext);
GC.Spread.Sheets.CellTypes.Base.prototype.activateEditor.call(this, editorContext, cellStyle, cellRect, context);
$editor.css("position", "absolute");
$editor.css("font", cellStyle.font);
$editor.css("color", cellStyle.foreColor);
$editor.css("border-bottom", "none");
$editor.css("border-left", "1px solid white");
$editor.css("border-top", "1px solid white");
$editor.attr("gcUIElement", "gcEditingInput");
$editor.autocomplete({
source: this.itemNames
}); // initialize autocomplete widget
$editor.autocomplete("widget").attr("gcUIElement", "gcEditingInput"); // keep focus when mouse down on dropdown
return $editor;
}
deactivateEditor(editorContext, context){
if (editorContext) {
var $editor = $(editorContext);
// $editor.autocomplete("hide");
$editor.autocomplete("destroy");
}
GC.Spread.Sheets.CellTypes.Base.prototype.deactivateEditor.call(this, editorContext, context);
}
setEditorValue(editorContext, value, context){
$(editorContext).val(value);
}
getEditorValue(editorContext, context){
return $(editorContext).val();
}
updateEditor(editorContext, cellStyle, cellRect, context){
if (editorContext) {
var $editor = $(editorContext);
$editor.css("width", cellRect.width);
$editor.css("height", cellRect.height);
}
}
isReservedKey(event, context){
if (context.isEditing && (event.keyCode == 40 || event.keyCode == 38)) {
return true;
}
return false;
}
}
|
最佳答案
查看完整内容
activateEditor(editorContext, cellStyle, cellRect, context) {
var $editor = $(editorContext);
GC.Spread.Sheets.CellTypes.Base.prototype.activateEditor.call(
this,
editorContext,
cellStyle,
cellRect,
context
);
$editor.css("position", "absolute");
$editor.css("font", cellStyle.font);
$ ...
|