2010-07-15 239 views
0

我已经将一些数据绑定到数据网格,我希望能够获取原始数据。如何在数据绑定后获取原始数据?

我已经在我的代码的一部分数据绑定数据如下。

IEnumerable<MyClass> myClasses = GetMyClassesFromDatabase(); 
DataGridForMyClass.DataSource = myClasses; 
DataGridForMyClass.DataBind(); 

当我点击一个按钮时,我希望能够用datagrid中的项目做东西。

我如何在给定DataGridForMyClass的情况下检索MyClass的原始列表?

回答

1

您无法将其拉出网格。您需要将数据存储在某处(Session,CacheViewState),并从那里检索数据。只有基本控件及其值存储在网格中。

例如,如果你是显示在使用一个Label一格一DateTime,日期时间不存储,只是被放,并通过Label坚持的文本表示实际上是在网格中,你原来绑定的数据是不。

编辑:从你的评论,如果你想编辑网格数据,那么你必须将数据回发并使用RowCommandRowUpdating事件。请参见下面的文章:

http://www.aspdotnetcodes.com/GridView_Insert_Edit_Update_Delete.aspx

+0

那么我该如何保持更改这些项目,有一些修改,回数据库? – mezoid 2010-07-15 04:23:15

+0

@mezoid如果这个答案帮助你不要忘记将它标记为接受的答案。如果您需要更多帮助,请告诉我。 – Kelsey 2010-08-11 21:35:05

+0

我最终将用户控件中的数据解析到数据传输对象中,然后使用该对象从数据库中检索记录并更新详细信息。虽然你的答案与我所做的并不完全一致,但我猜它确实指向了我所选解决方案的方向,所以我想我可以标记这个答案。 – mezoid 2010-08-12 06:07:46