【问题标题】:Kendo grid duplicate records inserted插入剑道网格重复记录
【发布时间】:2013-05-24 02:12:19
【问题描述】:

我有一个在线编辑模式下的剑道网格。 当我按下“添加新项目”按钮时,会添加新行并设置为编辑模式。 通过多次按下“更新”按钮,我可以将重复记录插入数据库。

第一次点击后是否有可能禁用更新按钮?

在执行插入后,剑道网格上的行选择也会丢失。 这是正常行为吗?

【问题讨论】:

  • 您使用的是哪个版本的 KendoUI?我无法通过多次更新重现您的问题。你能分享一些代码吗?
  • 是的,由于网格被重绘,失去焦点是正常的行为。
  • 我在数据库表中添加了触发器,防止插入重复记录。
  • 不是最新版本。它是 v.2012.3.1315
  • 您可以为您的网格和控制器操作发布一些示例代码吗?

标签: kendo-ui kendo-grid kendo-asp.net-mvc


【解决方案1】:

如果您不返回新插入记录的 ID,就会发生这种情况。除非您返回 id 值,否则 Kendo DataSource 会将它们视为新的。更多信息请访问documentation。

【讨论】:

  • 是的,我正在这样做。我可能需要同步事件,或类似的东西。
【解决方案2】:

如果您不返回带有新创建记录 ID 的整条记录,则会输入重复记录。 重要的是要返回“整个记录”,而不仅仅是“ID”。

public ContactBO CreateContact(ContactBO contact, int userid)
        {
            svc = new WCFService.VendorClient("BasicHttpBinding_IVendor", connectionString);
            contact.VendorReferenceID = userid;
            contact.ID = svc.SaveNewContact(contact, "external");
            return contact;
        }

【讨论】:

  • 不太清楚为什么这最初会被否决。我很确定数据源期望响应创建的数据格式与格式相同,即模型模式。可能需要填充的只是 id 属性(可能被调用的任何内容),但仅从服务器端返回“int”或类似内容是不够的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多