我从一个循环创建一个表,其中第一个cel具有变量值,而行中剩余的cels具有相同的值。
所以我一开始写了它,但我现在想把它改成一个更聪明的循环。
我认为应该可以使用CREATE DEFINER=`root`@`localhost` TRIGGER `IpAn`.`A_tbl_BEFORE_INSERT` BEFORE INSERT ON `A_tbl` FOR EACH ROW
BEGIN
INSERT IGNORE INTO source_names (source_name) VALUES (NEW.source_name);
INSERT IGNORE INTO locations (loc1,loc2) VALUES (loc1,loc2);
SET @source_names_id = (select id from source_names USE INDEX (PRIMARY) where source_name=NEW.source_name);
SET @locations_id = (select id from locations USE INDEX (PRIMARY) where loc1=NEW.loc1 and loc2=NEW.loc2);
...
END
值,因为剩余的单元格具有相同的值
这是基础:
nt-child
我正在使用带有InDesign的ExtendScript,但这对逻辑来说并不重要。我真的不知道该怎么做。
所以我在代码上取得了一些进展,现在我正处于一个我想通过for(i=0; i<TableElementes.length; i++){
var myColumnsSet = myTableElements[i].columns.everyItem().getElements();
if(myColumnsSet.length == 2)
{
myTableElements[i].columns.item(0).width = 68;
myTableElements[i].columns.item(1).width = 16;
}
if(myColumnsSet.length == 3)
{
myTableElements[i].columns.item(0).width = 52;
myTableElements[i].columns.item(1).width = 16;
myTableElements[i].columns.item(2).width = 16;
}
}
函数循环的阶段。
有什么想法吗?
switch
};
答案 0 :(得分:0)
代替switch
语句或循环,可能更容易将所需宽度存储在数组中,索引方式与switch
依赖的相同于:
var theWidths = [0, 0, 68, 52, 36, 110, 94, 78, 62, 46, 30]
for (i = 0; i < myTableElements.length; i++) {
var myColumnsSet = myTableElements[i].columns.everyItem().getElements();
for (a = 1; a < myColumnsSet.length; a++) {
myTableElements[i].columns.item(a).width = 16;
// if necessary, check here to make sure myColumnsSet.length is between 2 and 10
myTableElements[i].columns.item(0).width = theWidths[myColumnsSet.length];
}
}