function fireMouseEvent(obj, evtName) {
if (obj.dispatchEvent) {
//var event = new Event(evtName);
var event = document.createEvent("MouseEvents");
event.initMouseEvent(evtName, true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
obj.dispatchEvent(event);
} else if (obj.fireEvent) {
event = document.createEventObject();
event.button = 1;
obj.fireEvent("on" + evtName, event);
obj.fireEvent(evtName);
} else {
obj[evtName]();
}
}
var obj = document.getElementById("......");
fireMouseEvent(obj, "click");
После недельного эксперимента
я нашел решение
, которое я расширил его внутри графика.
после того, как я вставил данные в кэш.
APRegisterExt GetAPExtension = APGraph.Document.Current.GetExtension<APRegisterExt>();
Этот трюк работает для меня. Спасибо за ваше предложение! :)
Это немного зависит от того, какое событие вы переопределяете. Например, если вы находитесь в событии APTran_RowSelecting, вы будете использовать APTranExt следующим образом:
public void APTran_RowSelecting(PXCache sender, PXRowSelectingEventArgs e)
{
APTran row = (APTran)e.Row;
if (row == null) return;
APTranExt ext = sender.GetExtension<APTranExt>(row);
}
Или предположим, что вы находитесь на экране ввода заказа на поставку, и вы нажимаете на событие POLine_RowSelected, но вам нужно значение расширения элемента инвентаризации для элемента инвентаря на линии. Вы сделали бы что-то вроде этого:
// code to PXSelect the Inventory Item record
// and assign it to the inventoryitem var.
InventoryItemExt inventoryitemext = PXCache<InventoryItem>.GetExtension<InventoryItemExt>(inventoryitem);
Один из этих шаблонов должен работать для вас.