Как установить позицию пользовательского ввода для указанного c UI Control? - PullRequest
0 голосов
/ 22 апреля 2020

Я ищу соответствующий Windows Метод форм: Control.Select (); в Acumatica.

На словах :) Я хочу, чтобы с помощью кода можно было перемещать позицию пользовательского ввода между элементами управления на моем экране, мне нужно выполнить некоторые автоматизации, поэтому я бы хотел "перепрыгнуть" через элементы управления или go назад к элементам управления.

Пример Specifi c: у меня есть обработчик событий, который берет employeeID и проверяет, был ли этот идентификатор введен за последние 5 минут. Если он не идет и добавляет идентификатор вместе с именем и временем входа. ЕСЛИ в течение последних 5 минут есть запись идентификатора, то я sh для контроля ввода идентификатора, чтобы снова иметь фокус, даже если нажата клавиша TAB.

C# код событие:

    protected virtual void _(Events.FieldUpdating<EMPTimeEntries, EMPTimeEntries.employeeID> e)
    {
        DateTime timeNow = PX.Common.PXTimeZoneInfo.Now;
        timeNow = timeNow.AddMinutes(-5).AddHours(4);

        EMPTimeEntries alreadyScanned = SelectFrom<EMPTimeEntries>.
                                        Where<EMPTimeEntries.employeeID.IsEqual<@P.AsString>.
                                        And<EMPTimeEntries.clockTime.IsGreater<@P.AsDateTime>>>.
                                        View.Select(this, e.NewValue, timeNow);

        EMPTimeEntries row = e.Row;

        if ((row.EmployeeID != null) && (alreadyScanned == null))
        {
            EPEmployee employeeCard = PXSelectorAttribute.Select<EMPTimeEntries.employeeID>(e.Cache, row) as EPEmployee;
            row.EmployeeName = employeeCard.AcctName;
            row.ClockTime = PX.Common.PXTimeZoneInfo.Now;
        }
        else
        {
            //null the ID and place user input at the control of the ID
        }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...