0

我在这一行中有一个带有 DetailRow 的 ASPxGridView,另外还有三个 ASPxGridView。每个详细信息 ASPxGridView 都包含 EmptyDataRow 模板,其中包含用于创建新行的链接:

<a href="javascript:gridViewDetails1.AddNewRow();">AddNewRecord</a>

当主 ASPxGridView 行为 1 或 2 时,详细网格中的新行添加正常,但如果在主 ASPxGridView 行中大约 10 行或更多,那么当我单击详细网格链接以添加新行时,加载面板会出现无限时间和 FireBug-> Net显示POST状态为超时,时间约为1秒。

我该如何修复它?

AGoodDisplayName

细节行网格视图是否绑定到任何东西?

是的,当然,在主 gridView 的详细信息行内还有 3 个另外的 gridView,每个都有一个单独的 ObjectDataSource。

您是否一次扩展超过行?

不,我一次只有一排:

AllowOnlyOneMasterRowExpanded="true"

我们可以看到一些标记吗?

是的:

<asp:ObjectDataSource ID="dsMaster" runat="server" TypeName="..." SelectMethod="...">
</asp:ObjectDataSource>
<dxwgv:ASPxGridView ID="gridViewMaster" ClientInstanceName="gridViewMaster" runat="server" DataSourceID="dsMaster">
    <Templates>
        <DetailRow>
            <%--first of details gridView--%>
            <asp:ObjectDataSource ID="dsDetail1" runat="server" TypeName="..." SelectMethod="...">
            </asp:ObjectDataSource>
            <dxwgv:ASPxGridView ID="gridViewDetail1" ClientInstanceName="gridViewDetail1" runat="server" DataSourceID="dsDetail1">
                <Templates>
                    <EmptyDataRow>
                        <a href="javascript:gridViewDetail1.AddNewRow();">AddNewRecord</a>
                    </EmptyDataRow>
                </Templates>
            </dxwgv:ASPxGridView>
            <%--next others detail gridViews--%>
        </DetailRow>
    </Templates>
</dxwgv:ASPxGridView>
4

1 回答 1

0

我以前遇到过这样的问题,并且能够解决一些问题。我的问题和你的问题之间的区别在于我使用的是 DevExpress XpoDataSource(它的 DevExpress 版本的 ObjectDataSource)。

  1. 在设计时,我将数据源设置为带回 0 条记录。这样,通过将 FilterExpression 设置为“ID = 0”之类的值,在页面加载时不会检索数据(这对于 3 个网格和 3 个数据源来说可能代价高昂)。这似乎是最明智的表现。

  2. 显然要带回多于 0 条记录,所以需要在 Detail 网格的“BeforePerformDataSelect”事件上设置过滤。

    protected void ASPxGridView1_BeforePerformDataSelect(object sender, EventArgs e)
    {
       dsDetail1.FilterExpression = "MasterRecordID = " + (sender as ASPxGridView).GetMasterRowKeyValue().ToString();
    }
    

我不确定这是否会解决您的问题,但这就是我所做的并且它有所帮助。

于 2010-02-18T15:18:52.233 回答