Как использовать метод active () x ++ - PullRequest
2 голосов
/ 04 февраля 2020

Хорошо, я сделал это. Работает нормально. Спасибо за помощь. Вот мой код. Теперь мне нужно всего лишь вызвать мою командную кнопку в другой форме, чтобы отключить ее и создать там информацию. Кто-нибудь может посмотреть на это? В моем коде я получил ошибки ссылки.

[ExtensionOf(formdatasourcestr(ProdTableListPage, ProdTable))]
final class ProdParmReportFinishedActiveWG_Extension
{

 public int active()
{
    int ret;
    next Active();

    {
        ProdTable tableBuffer = this.cursor();
        ProdTable prodtable;


        if(tableBuffer.ProdId == tableBuffer.CollectRefProdId
             && tableBuffer.ProdStatus != ProdStatus::ReportedFinished)
            {
               select firstonly RecId,ProdId from ProdTable where
            ProdTable.CollectRefProdId == tableBuffer.ProdId
             && ProdTable.Prodstatus != ProdStatus::ReportedFinished
                && tableBuffer.RecId != prodtable.RecId;
            {
                    Global::info(strFmt("%1 , %2",
            prodtable.prodid, prodtable.recid));

                    // FormButtonControl mybutton = this.FormRun().design().controlname(formControlStr(ProdParmReportFinished, Ok)) as FormButtonControl;
                    //  mybutton.enabled(false);
            }

        }
        else
        {

            Global::info(strFmt("%1 , %2, %3, %4",
            tableBuffer.prodid, tableBuffer.CollectRefProdId, tableBuffer.InventRefType, tableBuffer.ProdStatus));
        }

    }
    return ret;
}

}

1 Ответ

1 голос
/ 05 февраля 2020

"Я хочу использовать этот код каждый раз, когда пользователь изменяет свою фактическую строку, но вместо этого он запускается только один раз и применяется ко всем моим строкам."

Используйте метод selectionChanged() вместо active().

На самом деле в большинстве случаев, когда вы думаете, что следует использовать active (), вы, вероятно, ищете вместо этого selectionChanged() (или событие OnSelectionChanged для обработчиков).

...