Hi,
I'm trying to understand CRUD operations on SfGrid.
Staring with: Add
My SQL insert statement:
public Task AddUsers(User user)
{
string sql = "INSERT INTO dbo.Users (FirstName, LastName, Username, Password, UserType) VALUES (@FirstName, @LastName, @Username, @Password, @UserType);";
return _dataAccess.AddDataAsync(sql, user);
}
My SfGrid:
<SfGrid DataSource="@users" AllowPaging="true" AllowSorting="true" Toolbar="@Tool" allow ContextMenuItems="@contextMenuItems">
<GridEvents OnActionBegin="OnBeginHandler" TValue="User"/>
<GridPageSettings PageSize="10"/>
<SfDataManager>
</SfDataManager>
<GridEditSettings AllowEditing="true" AllowAdding="true" AllowDeleting="true"/>
<GridColumns>
<GridColumn Field="@nameof(User.Id)"
HeaderText="User ID"
IsIdentity="true"
IsPrimaryKey="true"
AllowEditing="false">
</GridColumn>
<GridColumn Field="@nameof(User.FirstName)"
HeaderText="First name">
</GridColumn>
<GridColumn Field="@nameof(User.LastName)"
HeaderText="Last name">
</GridColumn>
<GridColumn Field="@nameof(User.Username)"
HeaderText="Username">
</GridColumn>
<GridColumn Field="@nameof(User.Password)"
HeaderText="Password">
</GridColumn>
<GridColumn Field="@nameof(User.UserType)"
HeaderText="User type">
</GridColumn>
</GridColumns>
</SfGrid>
@code {
private List<User> users;
protected override async Task OnInitializedAsync()
{
users = await _userData.GetAllUsers();
}
private void OnBeginHandler(ActionEventArgs<User> Args)
{
if (Args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
{
if (Args.Action == "Add")
{
var newUser = Args.Data;
// Call procedure to insert into DB
_userData.AddUsers(newUser);
}
}
}
}
While the code above doesn't generate an error, the data is never inserted into the SQL database...
Please help...