为单元格设置下拉框并设置列表校验规则不会出现此问题,但为表格列做相同设置,会出现两个下拉组件
去掉列表验证规则重复下拉按钮会消失,
于是写了demo验证此问题,发现demo中设置列表验证规则单元格和表格列都会出现下拉按钮重复的问题和生产环境表现不一致
- import * as GC from "@grapecity/spread-sheets";
- GC.Spread.Sheets.LicenseKey = "E669384686241538#B1Y1ZRBx6NrZmaxRlcrQFVRVDaX9WOUhzTyhHV5FFc7MmST3yMPBVWxJFWwADNnV7SlhWTnh7dzYXN8U7KnJGZB36aHJzRV36SUhzUJJ7KuxEe7hHUxpEWYh7Tqx6RaBzR9d4dxdDZIFjRLVnNJFzLrIWQ8RGUyIFNlZjMNZUYspHSSdEUYVmQDZkdFJmUTFGUY3kRz5WVopXQiJGM55kcwcWbFlVWqd6Rr8UOClkdkZmarYVU6VjRHJkdRBFWlBTMyQFb5R7Mxk4TUx6QLN7U7QnNa3SY7Nldr9ESBZXe094USZ6VOdke9ZXNQt4KzQUZDdEcORkVrUVM4NkRI36TVVzZXlmdWRGSvYjY0dUQLFXcvpkcPF6Y8E7ai9Udsh7KWRWayNXd8gmZGdVYVREMBlmTY5ERE94YxhEUlxWTOFVMlRFWmFzdmhDRxQWWrUFOxVDV8VmI0IyUiwiI6EDOzgjQDZjI0ICSiwCMyAzMzYDM9cTM0IicfJye35XX3JSVBtUUiojIDJCLicTMuYHITpEIkFWZyB7UiojIOJyebpjIkJHUiwiI7UDOzIDMgAzM4ADNyAjMiojI4J7QiwiIzVnLzVXajNXZt9iKsAnauMXdpN6cl5mLqwybp9yc5l6YzVWbuoCLt36YuMXdpN6cl5mLqwicr9ybj9yc5l6YzVWbuoCLwpmLvNmLzVXajNXZt9iKs46bj9idlRWe4l6YlBXYydmLqwibj9SbvNmL9RXajVGchJ7ZuoCLt36YukHdpNWZwFmcn9iKsI7au26YukHdpNWZwFmcn9iKsAnau26YukHdpNWZwFmcn9iKiojIz5GRiwiITVVSDNVRNJiOiEmTDJCLlVnc4pjIsZXRiwiI8MTNxQjM6gjN4gzM9YjNiojIklkIs4XXiQXZlh6U4J7bwVmUiwiI4VWZoNFd49WYHJCLiUGbiFGV43mdpBlIbpjInxmZiwSZzxWYmpjIyNHZisnOiwmbBJye0ICRiwiIt22Q";
- const spread = new GC.Spread.Sheets.Workbook(document.getElementById("ss"));
- const sheet = spread.getActiveSheet();
- const arr = [
- { text: "项1", value: 'item1' },
- { text: "项2", value: 'item2' },
- { text: "项3", value: 'item3' },
- { text: "项4", value: 'item4' },
- { text: "项5", value: 'item5' },
- { text: "项6", value: 'item6' },
- { text: "项7", value: 'item7' },
- { text: "项8", value: 'item8' },
- { text: "项9", value: 'item9' },
- { text: "项10", value: 'item10' }
- ];
- spread.suspendPaint();
- sheet.setText(0, 0, "Custom list");
- const combo = new GC.Spread.Sheets.CellTypes.ComboBox();
- combo.items(arr).editorValueType(GC.Spread.Sheets.CellTypes.EditorValueType.value);
- combo.allowFloat(false);
- const values = arr.map(v => v.value).join();
- const dvList = new GC.Spread.Sheets.DataValidation.createListValidator(values);
- let table = sheet.tables.add("table1", 2, 1, 3, 4);
- table.rowFilter().filterButtonVisible(0, false);
- sheet.addSpan(3, 1, 1, 2)
- sheet.addSpan(4, 1, 1, 2)
- sheet.addSpan(5, 1, 1, 2)
- sheet.addSpan(6, 1, 1, 2)
- sheet.addSpan(7, 1, 1, 2)
- const columnName = table.getColumnName(0);
- const col1 = table.getColumn(columnName);
- sheet.setCellType(2, 0, combo, GC.Spread.Sheets.SheetArea.viewport);
- sheet.setDataValidator(2, 0, 1, 1, dvList, GC.Spread.Sheets.SheetArea.viewport);
- col1.cellType(combo);
- sheet.setDataValidator(3, 1, 2, 1, dvList, GC.Spread.Sheets.SheetArea.viewport);
-
- spread.resumePaint();
复制代码 sheet.setCellType(2, 0, combo, GC.Spread.Sheets.SheetArea.viewport);
和列表验证规则
const dvList = new GC.Spread.Sheets.DataValidation.createListValidator(values);
sheet.setDataValidator(2, 0, 1, 1, dvList, GC.Spread.Sheets.SheetArea.viewport);
只能二选一么
|