如何在ASPxGridView中使用FindControl方法

时间:2011-04-28 08:13:34

标签: c# devexpress

我想在另一个ASPxGridView中获取ASPxGridView,我试图这样做:

ASPxGridView3 = (ASPxGridView)ASPxGridView2.FindControl("ASPxGridView3");

但显然这不起作用,我不会请求帮助^^。 我尝试在所有之前放置ASPxGridView,但这似乎没有做任何事情。 ASPxGridView3最终为null。我100%正确的名称ASPxGridView2和ASPxGridView3是正确的,以及我确信ASPxGridView2在其编辑模板中有ASPxGridView3

1 个答案:

答案 0 :(得分:2)

由于ASPxGridView提供了许多模板容器,因此您应该使用特定于这些容器的方法来查找驻留在模板容器中的控件。例如,如果控件位于DetailRowTemplate容器中,则应使用ASPxGridView.FindDetailRowTemplateControl。要确定在特定情况下使用哪种方法,请参阅以下帮助主题:

Grid Elements that Support Templates Accessing Controls Contained within Templates Member Table: Templates

此外,在您尝试获取对驻留在模板控件中的控件的引用的那一刻,这一点非常重要。标准方法是处理HtmlRowCreated事件并检查此事件处理程序中的e.RowType属性。如果template4控件驻留在行〜模板容器中,则此方法将起作用。如果控件位于状态栏内,标题栏 - 使用ASPxGridView的PreRender和BeforeGetCallbackResult事件。