Add new record dialog is not closing after add

0 Answers 5 Views
Grid
Martin Herløv
Top achievements
Rank 2
Bronze
Iron
Iron
Martin Herløv asked on 27 Jun 2024, 08:24 AM
In my grid I use pop-up edit.

When I update a record the dialog closes, but not on add. Why?


private async Task LoadUsers()
    {
        var users = await UserService.GetUsers();
        Users = new ObservableCollection<User>(users);
    }
    
    private async Task CreateHandler(GridCommandEventArgs obj)
    {
        if (obj.Item is not User user) return;
        
        var newUser = await UserService.Create(user);
        await LoadUsers();
    }

    private async Task UpdateHandler(GridCommandEventArgs args)
    {
        if(args.Item is not User user) return;
        if(user.Id == 0) return;
        
        var success = await UserService.Update(user);
    }

<TelerikGrid
            Data="@Users"
            height="100%"
            @bind-SelectedItems="@SelectedUsers"
            SelectionMode="GridSelectionMode.Single"
            EnableLoaderContainer="true"
            Sortable="true"
            Resizable="true"
            ConfirmDelete="true"
            ShowColumnMenu="true"
            OnUpdate="@UpdateHandler"
            OnCreate="@CreateHandler"
            OnStateInit="@((GridStateEventArgs<User> args) => OnStateInitHandler(args))"
            EditMode="GridEditMode.Popup">
            <GridToolBarTemplate>
                <GridSearchBox DebounceDelay="200" Class="width-60percent"/>
                <GridCommandButton Command="Add" Icon="@SvgIcon.Plus" ThemeColor="@ThemeConstants.Button.ThemeColor.Primary">Add User</GridCommandButton>
            </GridToolBarTemplate>
            <GridSettings>
                <GridValidationSettings Enabled="true"/>
                <GridPopupEditSettings MinWidth="350px"/>
            </GridSettings>
            <GridColumns>
                <GridColumn Field="@nameof(User.Id)" Width="120px" Editable="false"/>
                <GridColumn Field="@nameof(User.Initials)" Width="135px"/>
                <GridColumn Field="@nameof(User.FirstName)"/>
                <GridColumn Field="@nameof(User.LastName)"/>
                <GridColumn Field="@nameof(User.WorkEmail)" Width="260px"/>
                <GridColumn Field="@nameof(User.ClientName)" Title="Client">
                    <EditorTemplate>
                        @{ var u = (User)context; }
                        <TelerikDropDownList
                            ValueField="@nameof(CboItem.Id)"
                            TextField="@nameof(CboItem.Name)"
                            Filterable="true"
                            FilterOperator="StringFilterOperator.Contains"
                            Title="Select a client"
                            DefaultText="Select a client"
                            @bind-Value="@u.ClientId"
                            Data="@TsClientCbos">
                            <DropDownListSettings>
                                <DropDownListPopupSettings Height="500px" Width="350px"/>
                            </DropDownListSettings>
                        </TelerikDropDownList>
                    </EditorTemplate>
                </GridColumn>
                <GridColumn Field="@nameof(User.Active)" Width="110px" ShowColumnMenu="true"/>
                <GridColumn Field="@nameof(User.IsBiEmployee)" Title="BI Employee" Width="120px" ShowColumnMenu="true"/>
                <GridColumn Field="@nameof(User.SyncToCloud)"  Width="130px" ShowColumnMenu="true" Editable="false"  />
                <GridCommandColumn Width="110px" >
                    <GridCommandButton Command="Save" Icon="@FontIcon.Save" Title="Update" ShowInEdit="true"/>
                    <GridCommandButton Command="Cancel" Icon="@FontIcon.Cancel" ShowInEdit="true"/>
                    <GridCommandButton Command="Edit" Icon="@FontIcon.Pencil" Title="Edit" Enabled="CanEdit"/>
                </GridCommandColumn>
            </GridColumns>
        </TelerikGrid>

No answers yet. Maybe you can help?

Tags
Grid
Asked by
Martin Herløv
Top achievements
Rank 2
Bronze
Iron
Iron
Share this question
or