向Asp.net gridview添加新行而不刷新整个网格

时间:2012-09-11 05:33:11

标签: javascript asp.net jquery

我有一个用于数据输入的ASP.Net网格视图。我想要以下功能: 当焦点位于最后一行的最后一个单元格中时,在按Tab键时,应将新行添加到网格视图中。添加新行时,不应刷新整个网格,即最后一行下方只应出现一个新的空白行。此外,完成所有数据输入后,单击“保存”按钮(位于网格视图外)我希望将所有输​​入的行数据保存到数据库中。 请帮我这个功能。

2 个答案:

答案 0 :(得分:0)

选中 Code Project Example on Grid-view

希望这个可以帮助您建立关于应用程序的想法。

答案 1 :(得分:0)

这是可能的,但实现这一目标需要一个非常讨厌的黑客,为什么? Microsoft将ASP.NET GridView控件设计为控件,在服务器端呈现,然后将其HTML标记吐出到客户端浏览器。 如果您需要在客户端启用插入,我建议使用以下替代方法:

  1. (最便宜的时间成本)保持网格视图,并通过在页面上设置单独的容器来启用新记录插入:例如隐藏的Panel,其具有创建新记录所需的输入控件。使用普通的JaveScript可以在客户端轻松显示或隐藏Panel。点击“保存”时,输入数据将被发回服务器并添加到您的数据存储中。

  2. (中等时间成本)迁移到ASP.NET Repeater控件。在Repeater中,您可以控制FooterTemplate,它可以包含表格的最后一行。使用任何输入控件填充此行,如果用户触发最后一行上的Tab键,则使用容器将此行环绕,该容器将使您能够显示/隐藏它。

  3. (更长时间成本)迁移到基于客户端的网格控件,例如jqGrid