我有一个 GridView,它允许一直编辑每一列、每一行中的值。用户输入所有更改,单击保存一次,所有更改都已提交。
用户还必须能够单击“新建”按钮,在 GridView 中出现一个新行(是的,它必须显示在实际的 GridView 中),输入他们想要的任何数据,单击“保存”并将所有更改转到数据库.
现在。这是一个让我失望的用户案例:用户到达页面,对几个现有行进行了几处更改,然后需要添加一个新行,在新行中输入数据,单击保存,然后将所有更改转到数据库.
但是,我见过的添加新的空行的唯一方法是重新绑定 GridView,这意味着它们的所有更改都将丢失。这显然不好。
所以,我的问题是:有哪些方法可以在不必重新绑定 GridView 的情况下向 GridView 添加新的、空的、可编辑的行?
我唯一能想到的是,在新按钮的单击事件中,从 GridView 中吸出所有数据(包括用户的潜在编辑),将其保存到 ViewState(或其他),添加新行,重新填充网格。对我来说,这似乎有点 hacky,但它应该允许我在 GridView 上关闭 ViewState。
有任何想法吗?