Методы отображения — несколько источников данных формы

Это может показаться простым вопросом, но я почему-то раздосадован.

У меня есть форма с 3 источниками данных - InventTable, InventSum, InventDim.

Так, например, моя сетка показывает;

Товар, название, сайт, склад, физический запас

Я разместил метод отображения в InventDim форме DataSource, но мне нужен доступ к ItemId либо из inventTrans, либо из InventSum. (Очевидно, поиск «текущего» itemId).

Все, что я могу получить, это inventDim, который передается как параметр _inventDim по умолчанию.

Как лучше всего получить доступ к «текущему» идентификатору элемента?


person AnthonyBlake    schedule 12.07.2012    source источник
comment
Могу ли я использовать метод cursor()?   -  person AnthonyBlake    schedule 12.07.2012
comment
Я не могу использовать метод курсора - закрыть, но не в порядке   -  person AnthonyBlake    schedule 12.07.2012


Ответы (1)


Хорошо, я нашел ответ, с большой благодарностью за эту ссылку Йориса де Грюйтера;

http://daxmusings.blogspot.co.uk/2011/10/forum-advanced-display-method-querying.html

Ключевым моментом было поместить метод display в источник данных InventSum.

Затем вы можете использовать _inventSum.joinChild() для получения связанного inventDim, вот пример Джориса;

display Qty AvailPhysical(InventSum _inventSum)
{
    InventDim       joinDim, dimValues;
    InventDimParm   dimParm;
    InventSum       localSum;

    //THE IMPORTANT LINE...
    dimValues.data(_inventSum.joinChild());

    dimParm.initFromInventDim(dimValues);

    select sum(AvailPhysical) from localSum where localSum.ItemId == _inventSum.ItemId
        #InventDimExistsJoin(localSum.InventDimId, joinDim, dimValues, dimParm);

    return localSum.AvailPhysical;
}

Я уверен, что это поможет кому-то в будущем!

person AnthonyBlake    schedule 12.07.2012