2016-08-04 5 views
-1

Я хочу обновить форму из класса. Я хочу refreh после insert() statemant. Это лучшее решение этой проблемы.Обновить форму из класса после вставки()

Вот мой код:

try { 
    do { 
     row++; 
     this.readRow(row, cells); 
     ttsbegin; 
     this.insert(); 
     ttscommit; 
     type = cells.item(row+1, 1).value().variantType(); 
    } 
    while (type != COMVariantType::VT_EMPTY); 
         <-------- 

После времени вставки закончена, и в этом положении, в котором я буду Актуализировать.

+0

Мне пришлось оставить свой ответ довольно общим, поскольку я не мог вывести архитектуру вашего кода на основе небольшого фрагмента, который вы опубликовали. Если мой ответ слишком общий, пожалуйста, напишите больше кода (например, как вы создаете и вызываете свой класс из формы и таблицы и т. Д.) – DAXaholic

+0

У меня есть основной метод (запуск) в этом методе, как вы видите, я вызываю readRow и метод вставки. Я вызываю метод запуска кнопкой на форме. Кнопка запускает импорт листа excel. –

ответ

2

Обычно вы передавали ссылку на источник данных формы, который хотите обновить до своего класса, а затем называть research, чтобы обновить его, чтобы появлялись ваши вновь вставленные записи.

В качестве альтернативы, хотя ИМХО не то, что чистые, чтобы передать буфер источника данных, формы для вашего класса, а затем (возможно, после проверки с помощью isFormDataSource) доступа и обновления источника данных с помощью метода dataSource буфера.

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

Update: Для того, чтобы увидеть, как вызвать метод, определенный в форме из класса см класса Tutorial_Apply и формы Tutorial_Form_Apply, который показывает, как вызвать метод applyText, который реализуется в форме. Аналогично, вы можете определить способ refreshData, который вызывает research в вашем источнике данных.

+0

Я думаю, что последний способ - лучший способ. Но я новичок в AX, поэтому я не собираюсь это делать. –

+0

Нужна моя форма специального метода для обновления? В настоящее время моя форма имеет два метода init и classDeclaration. –

+0

Ну, ему нужен метод, который вы хотите вызвать из класса, например. назовем его refreshData. Затем в нем вы бы назвали исследование источника данных формы. Как я уже говорил, я мог бы быть более конкретным, если вы указали больше своего кода. – DAXaholic

 Смежные вопросы

  • Нет связанных вопросов^_^