【问题标题】:New row in ASP.NET GridView ControlASP.NET GridView 控件中的新行
【发布时间】:2011-11-30 08:13:00
【问题描述】:

我想做一些非常简单的事情,但我似乎找不到 EnableClientAddRow 属性,所以我可以将其设置为 true。我在 Web 表单上有一个标准的 GridView 控件。我想要一个按钮出现在网络表单上。当用户单击按钮时,GridView UI 中会添加一个空行,因此用户可以在相应的字段中输入数据。该行当然会在其中一列中具有某种类型的“保存”按钮。

我知道这个功能必须在 GridView 的某个地方,但我找不到它。我确实发现了一些尝试手动实现这一点的奇怪技巧。我对页脚操作或绑定技巧并不感兴趣,只是标准的添加行方法。

编辑: 看来 GridView 不支持将行添加为一阶操作。这似乎是一个严重的设计缺陷。

【问题讨论】:

    标签: asp.net gridview


    【解决方案1】:

    我通常将新记录添加到基础数据源,作为“添加记录”按钮单击操作的一部分。然后我重新绑定视图以显示空白行。

    如果 GridView 绑定到 DataTable,则新记录通常是 DataRow;如果 GridView 绑定到特定类型的集合,则新记录通常是对象。不确定这是否是您认为问题中的绑定技巧,但它运作良好并且很容易实现。

    编辑 - 更详细地描述该过程: 将行添加到数据源,将 EditItemIndex 设置为新添加的行,以便该行进入编辑模式,然后将数据源绑定到 GridView。您的 EditItemTemplate 将包含一个 Cancel 和一个 Save 按钮。 Cancel 会将 GridView 重新绑定到没有空行的基础数据源,并将 EditItemIndex 设置为 -1,从而从 GridView 中删除该行。

    【讨论】:

    • 这听起来可能可行,但我认为更多细节会有所帮助。只是向数据源添加一个空行会显示一个带有添加按钮的可编辑行吗?
    • 已更详细地修改,如有任何问题,请告诉我。
    • 因此,有了这些附加信息,我发现这是解决 GridView 缺陷的更有效方法。感谢您花时间扩展您的答案,它真的帮了我很大的忙。
    【解决方案2】:

    【讨论】:

    • 这看起来可行,但我认为这是一个 hack。
    【解决方案3】:

    如果您向数据源添加新行,即使该行具有空值,并且您将数据源数据绑定到 Gridview,它也应该像任何其他行一样显示为可编辑行。

    【讨论】:

      猜你喜欢
      • 2012-10-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多