【发布时间】:2019-12-16 16:16:32
【问题描述】:
我目前的问题是:我首先得到一个数据网格,然后当我选择一行时,我会有一个索引,有了这个索引,我可以使用 convert datagrid to DataTable DataTable.rows[idx]["Column Name "] 来获取值。当我再次双击标题时,一切都被求助了,在后端,数据网格没有刷新,当我获取新索引时,它会去旧数据网格找到新的索引值。不想每次都刷新数据表,计算量太大。
比如第一行,resort之后,索引变成了4,系统会去使用DataTable.rows[4]["Column Name"]获取一个值,这不是我想要的值。
非常感谢!
【问题讨论】:
-
排序时。一行很可能会失去焦点并改变颜色或消失,因为它现在不在屏幕上。选择不会改变。您选择行(或项目)而不是索引。为什么要使用 index 而不是 selecteditem?
-
我没有那个数据网格的类。没有类,如何使用 selecteditems 获取详细信息?
-
窗口是一个部分类,其中一个文件中的 xaml 和另一个文件中的代码。所以从技术上讲,我认为你确实有一堂课。您可以在后面的代码中引用数据网格的选定项。
-
感谢您的回复,您是什么意思引用数据网格的选定项?我使用 SQLDataAdapter 填充数据集,然后获取数据网格,我应该使用哪个类来获取 IList?
-
窗口后面的代码。使用数据网格的 selecteditems 属性。从文档中,请注意从 MultiSelector 的继承。 docs.microsoft.com/en-us/dotnet/api/… 其中有 SelectedItems docs.microsoft.com/en-us/dotnet/api/…