首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据库表为空时无法在SFGrid中添加行

数据库表为空时无法在SFGrid中添加行
EN

Stack Overflow用户
提问于 2021-03-09 12:05:45
回答 1查看 421关注 0票数 0

我有一个SfGrid,它不允许我添加新的行( add按钮显示为已单击,但它不显示输入行),如果数据库表是空的。不会抛出错误。如果我在SSMS中手动插入一行(我的数据库所在),那么该行就会显示出来,并且我可以正常地添加新行(一切正常工作)。在我的Blazor-WebAssembly项目中,我使用了同步

下面是我的剃须刀页面中的SfGrid组件:

代码语言:javascript
复制
<SfGrid TValue="Note" Toolbar="@(new List<string>() { "Add", "Edit", "Update", "Cancel" })">
    <GridEvents OnActionBegin="OnBeginHandler" CommandClicked="@CommandClickHandler" TValue="Note"></GridEvents>
    <SfDataManager Url="/api/Notes" Adaptor="Adaptors.WebApiAdaptor"></SfDataManager>
    <GridEditSettings AllowAdding="true" AllowEditing="true" AllowDeleting="true"></GridEditSettings>
    <GridColumns>
        <GridColumn Field="@nameof(Note.NoteId)" IsPrimaryKey="true" Visible="false"></GridColumn>
        <GridColumn Field="@nameof(Note.Name)" ValidationRules="@(new ValidationRules(){Required=true})"></GridColumn>
        <GridColumn>
            <GridCommandColumns>
                <GridCommandColumn Type="CommandButtonType.Delete" ButtonOption="@(new CommandButtonOptions() { IconCss = "e-icons e-delete", CssClass = "e-flat" })"></GridCommandColumn>
            </GridCommandColumns>
        </GridColumn>
    </GridColumns>
</SfGrid> 

和页面的@code部分:

代码语言:javascript
复制
private void OnBeginHandler(ActionEventArgs<Note> args)
{
    if (args.RequestType == Syncfusion.Blazor.Grids.Action.Save)
    {
        if (args.Action == "add")
        {
            var t = args.Data;
        }
    }
}

public void CommandClickHandler(CommandClickEventArgs<Note> args)
{
    if (args.CommandColumn.Type != CommandButtonType.Save)
        return;

    var lookup = args.RowData;

    StateHasChanged();
}

最后,NotesController

代码语言:javascript
复制
[Route("api/[controller]")]
[ApiController]
public class NotesController : ControllerBase
{
    private readonly OrganizatorContext _context;
    public NotesController(OrganizatorContext context)
    {
        _context = context;
    }

    // GET: api/<NotesController>
    [HttpGet]
    public object Get()
    {
        return new { Items = _context.Notes, Count = _context.Notes.Count() };
    }
    // GET api/<NotesController>/5

    [HttpGet("{id}")]
    public object Get(long id)
    {
        return new { Items = _context.Notes.Where(x => x.NoteId.Equals(id)).FirstOrDefault(), Count = _context.Notes.Count() };
    }

    // POST api/<NotesController>
    [HttpPost]
    public void Post([FromBody] Note note)
    {
        _context.Notes.Add(note);
        _context.SaveChanges();
    }

    // PUT api/<NotesController>/5
    [HttpPut("{id}")]
    public void Put(long id, [FromBody] Note note)
    {
        Note note1 = _context.Notes.Where(x => x.NoteId.Equals(note.NoteId)).FirstOrDefault();
        note1.Name = note.Name;
        note1.IsDone = note.IsDone;
        note1.Due = note.Due;
        _context.SaveChanges();
    }

    // DELETE api/<NotesController>/5
    [HttpDelete("{id}")]
    public void Delete(long id)
    {
        Note note1 = _context.Notes.Where(x => x.NoteId.Equals(id)).FirstOrDefault();
        _context.Notes.Remove(note1);
        _context.SaveChanges();
    }
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-10 12:41:03

我们也能够在我们的结尾复制报道的问题。我们已经确认它是一个错误,并记录了缺陷报告“当数据库表为空时,SFGrid无法在中添加一行”。感谢您抽出时间报告这个问题,并帮助我们改进我们的产品。在Syncfusion,我们致力于修复所有经过验证的缺陷(取决于技术可行性和产品开发生命周期),并将缺陷修复包含在--我们发布的中--预计将于2021年4月底推出。请按照我们的同步页面发布相关信息。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66546568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档