我需要写一份工作,我可以获取EDT Dimension数组元素的索引
例如在我的EDT Dimension
中,我有数组元素A
B
C
当我点击它们获取属性时,我看到A的索引为1,B为2,C为3现在有了一份工作,我想要获取索引值。请帮助。
答案 0 :(得分: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));
}
}
答案 1 :(得分: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;
}
答案 2 :(得分:0)
示例中的数组元素A
B
C
只不过是简单的标签 - 它们不能用作标识符。首先,为了方便用户,标签可以随时修改,即使不是,标签也会有不同的语言,等等。
总体而言,您的方法(查询DictType
)是正确的,但我无法想到实际需要此类代码的任何方案。
如果您澄清了业务需求,则可以提出更好的解决方案。