我在 Telerik 文档中没有看到任何优雅的方法来做到这一点(不幸的是,只留下了生硬/低效的方法)。
您可以遍历项目并匹配HierarchicalIndexKey
每个项目的ItemIndexHierarchical
:
int i = 0;
bool bIndexExists = false;
GridDataItem item = null;
for (i = 0; i <= gvAgendaItems.Items.Count - 1; i++) {
bIndexExists = gvAgendaItems.Items(i).ItemIndexHierarchical == HierarchicalIndexKey;
if (bIndexExists) {
item = gvAgendaItems.Items(HierarchicalIndexKey);
break;
}
}
您可以将其包装在一个Try/Catch
块中,然后默默地失败。
GridDataItem item = null;
try {
item = gvAgendaItems.Items(HierarchicalIndexKey);
} catch (Exception ex) {
//fail silently without throwing an exception.
}
对于较小的数据源,循环将更有效,而对于较大的数据源,包装将更有效(断点是循环遍历集合比引发异常所需的时间更多)。
希望我有一个更好的答案,但我希望这会有所帮助。