"Количество" в групповой спецификации

Автор Prog2, 16.08.11, 13:15:31

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

Prog2

Здравствуйте! Возник вопрос.
Требуется изменить значение в колонке "Количество" при создании объекта групповой спецификации.
Делаю приблизительно вот так:
  ksUserParam* pUserParm = (ksUserParam*)pKompas->GetParamStruct(ko_UserParam);
  ksLtVariant* pItem = (ksLtVariant*)pKompas->GetParamStruct(ko_LtVariant);
  ksDynamicArray* pArr = (ksDynamicArray*)pKompas->GetDynamicArray(LTVARIANT_ARR);
  if ( !pUserParm || !pItem || !pArr )   return 0;
  pUserParm->SetUserArray( pArr );
  .
  .
  .
  int ElementsQuantity = 5;
  pArr->ksClearArray();
  pItem->Init();
  pItem->strVal = StringToOleStr(IntToStr(ElementsQuantity));
  pArr->ksAddArrayItem( -1, pItem );
  pSpc->ksSpcChangeValue(SPC_COUNT, 1, pUserParm, STRING_ATTR_TYPE);

И в результате получаю такую картинку: в групповой спецификации в первую подстроку количества записалось "5", а в остальных "1". А нужно, чтобы во всех подстроках было "5".


Как правильно записывать? К чему обращаться?

Prog2

Надо было вот так делать:
int ElementsQuantity = 5;
spc.ksSetSpcObjectColumnText(ldefin2d.SPC_CLM_COUNT, 1, 0, ElementsQuantity.ToString());
spc.ksSetSpcObjectColumnText(ldefin2d.SPC_CLM_COUNT, 1, 1, ElementsQuantity.ToString());
// ...
// и т.д. в зависимости от количества исполнений