我需要编写一个作业,我可以在其中获取 EDT Dimension 的数组元素的索引,例如在我的 EDT中,当我单击它们获取属性时,Dimension
我有数组元素A
B
C
,我看到 A 的索引为 1,B 的索引为 2,C 的索引为 3 . 现在有一个作业 ui 想要获取索引值。请协助。
问问题
4418 次
3 回答
0
我不确定我是否理解真正的问题。一些代码示例可能会有所帮助。
该Dimensions
表有一些有用的方法,如arrayIdx2Code
.
也许下面的代码有帮助:
static void Job1(Args _args)
{
Counter idx;
Dimension dimension;
DimensionCode dimensionCode;
str name;
;
for (idx = 1; idx <= dimof(dimension); idx++)
{
dimensionCode = Dimensions::arrayIdx2Code(idx);
name = enum2str(dimensionCode);
// if (name == 'B') ...
info(strfmt("%1: %2", idx, name));
}
}
于 2011-05-06T12:27:51.223 回答
0
我找到了一种方法,但仍在寻找是否有其他解决方案。
static void Job10(Args _args)
{
Dicttype dicttype;
counter i;
str test;
;
test = "Client";
dicttype = new dicttype(132);//132 here is the id of edt dimension
for (i=1;i<=dicttype.arraySize();i++)
{
if ( dicttype.label(i) == test)
{
break;
}
}
print i;
pause;
}
于 2011-05-06T12:55:43.840 回答
0
您示例中的数组元素A
B
C
只是简单的标签 - 它们不能用作标识符。首先,为了用户方便,标签可以随时修改,即使不修改,不同语言的标签也不同,以此类推。
总体而言,您的方法(查询DictType
)是正确的,但我想不出任何实际需要这样代码的场景。
如果您阐明了您的业务需求,那么有人可以提出更好的解决方案。
于 2011-05-10T11:06:56.747 回答