Jas*_*son 5 asp.net data-binding gridview
我有一个GridView,它允许始终在每一行中的每一列中编辑值.用户输入所有更改,单击"保存"一次,然后提交所有更改.
用户还必须能够单击"新建"按钮,在GridView中显示一个新行(是的,它必须显示在实际的GridView中),输入他们想要的任何数据,单击"保存"并将所有更改转到数据库.
现在.以下是抛弃我的用户案例:用户到达页面,对几个现有行进行多处更改,然后需要添加新行,在新行中输入数据,单击"保存",并将所有更改都转到数据库.
但是,我看到添加一个新的空行的唯一方法是重新绑定GridView,这意味着它们的所有更改都将丢失.这显然不好.
所以,我的问题是:在不必重新绑定GridView的情况下,向GridView添加一个新的空的可编辑行有哪些方法?
我唯一能想到的是,在New按钮的click事件中,从GridView中取出所有数据(包括用户的潜在编辑),将其保存到ViewState(或其他),添加新行,重新填充网格.对我来说,这看起来有点hacky,但它应该允许我在GridView上关闭ViewState.
有任何想法吗?
我立即想到了两个选择。第一个是缓存您绑定到网格中的原始结果,当您需要添加另一行时,您可以将数据行添加到您要绑定到的数据表中,然后将其绑定到网格。如果网格中有变化,则需要更新数据表。完成所有更改并且用户单击“保存”按钮后,您可以迭代表并使用数据更新数据库。
它可能看起来像这样
页面加载
当用户请求新行时
当用户保存网格时
另一种方法是动态创建网格,但这将涉及比您所描述的内容更多的工作。
| 归档时间: |
|
| 查看次数: |
14325 次 |
| 最近记录: |