如何确定哪个明细表引发了 Telerik radgrid NeedDataSource 事件?
对于 radgrid,在 GridNeedDataSource 事件中,事件参数包括: 重新绑定原因 IsFromDetailTable
这对于确定重新绑定是由父网格还是子网格引起的非常有用。
如果我有 3 层网格怎么办? 父>儿童> Grandchild
这个布尔参数只会告诉我引发事件的网格是否是父级,它不能告诉我它是子级还是孙级......还是我遗漏了什么?
如何确定网格层次结构的哪个深度引发了事件?
编辑:我怀疑我可以利用 sender.Equals() 方法,但我不确定如何定位详细信息或主表控件
For a radgrid, in the GridNeedDataSource Event, the eventargs include:
RebindReason
IsFromDetailTable
This useful for determining whether the rebinding is caused by Parent or Child grid.
What if I have a 3-tier grid?
Parent > Child > Grandchild
This boolean parameter will only tell me whether or not the grid raising the event was the parent, it cannot tell me whether it was the Child or Grandchild... or am I missing something?
How can I determine which depth of grid hierarchy raised the event?
EDIT: I suspect I can exploit the sender.Equals() method but I am not sure how to target the detail or master table controls
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您应该使用
DetailTableDataBind
事件来实现此目的。您可以参考RadGrid编程层次结构绑定演示。 DetailTableDataBind 事件是绑定详细信息表的推荐方法。它会针对每个要进行数据绑定的详细信息表触发。使用事件参数对象,您可以获得绑定的 GridTableView 实例(e.DetailTable)。如果您为表指定了名称,e.DetailTable.Name
会标识当前父网格项的详细信息表。You should use the
DetailTableDataBind
event for this purpose instead. You can refer to the RadGrid programmatic hierarchy binding demo. The DetailTableDataBind event is the recommended approach for binding detail tables. It fires for every detail table that is to be databound. Using the event argument object, you can get the GridTableView instance that is binding (e.DetailTable). If you have specified names for your tables,e.DetailTable.Name
identifies your detail table for the current parent grid item.嗯,我也没有找到确定的方法。我所做的是侦听网格的 ItemCommand 事件,并确定通过 e.Item.OwnerTableView.Name 参数引发展开/折叠命令的表视图。
Well, I haven't figured out a way to determine that either. What I did is listen for the ItemCommand event of the grid and determine the table view which raised the expand/collapse command through the e.Item.OwnerTableView.Name argument.
RadGrid 的每个 gridtableview 都有名称。在 DetailTableDataBind 中,您可以检查网格名称并选择用于绑定的数据源...
Each gridtableview of RadGrid has Name. In DetailTableDataBind you can check name of grid and select the datasource for binding by it...