2010-02-17 3 views
0

이 행에 DetailRow가있는 ASPxGridView가 있는데 세 개의 추가 ASPxGridView가 있습니다. 각 세부 ASPxGridView 링크와 템플릿이 새로운 행을 만들 EmptyDataRow 포함ASPxGridView POST 시간 초과

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

마스터 ASPxGridView 행 상세 격자의 1 또는 2 다음에 새로운 행 마스터 ASPxGridView 행의 경우는 약 10 개 이상의 다음 때 미세 첨가되지만 때 세부 그리드 링크를 클릭하면 로딩 패널을 무제한으로 추가하고 FireBug-> Net은 POST 상태가 타임 아웃이고 시간이 약 1 초임을 보여줍니다.

어떻게 수리 할 수 ​​있습니까?

AGoodDisplayName 에 :

는 세부 행있는 GridViews 아무것도에 바인딩?

물론 물론, 마스터 gridView의 세부 정보 행에는 3 개의 다른 gridView가 있으며 각각에 별도의 ObjectDataSource가 있습니다.

번에 행 이상으로 확장하고 있습니까?

아니, 한 번에 하나의 행이 :

AllowOnlyOneMasterRowExpanded="true" 

우리가 마크 업의 일부를 볼 수 있습니까?

네 : 내가 전에이 같은 몇 가지 문제가 있었다하고 문제를 releive 무엇을 일부 수 있었다있다

<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> 
+0

은 세부 행 gridviews 무엇인가에 바인딩되어 있습니까? 한 번에 여러 줄을 확장하고 있습니까? 우리가 마크를 좀 볼 수 있을까요? – AGoodDisplayName

+0

세부 사항은 원본 게시물에 이미 있습니다. –

답변

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(); 
    } 
    

나는이 문제를 해결할 것인지 확실하지 않다, 그러나 이것은 내가 한과 도움이 것입니다.

+0

답변을 주셔서 감사합니다,하지만 불행히도 ObjectDataSource 컨트롤 내 데이터 개체 또는 데이터 테이블 개체를 반환하는 경우에만 Select 메서드를 반환하는 동안 데이터 필터링 필터링을 지원합니다 내 개체 목록 = –