2010-02-17 5 views
0

У меня есть ASPxGridView с DetailRow в этой строке есть три дополнительных ASPxGridViews. Каждая деталь 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" 

Можем ли мы увидеть некоторые из размечать?

Yep:

<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

- это подробные сведения о сетке, привязанные ко всему? Вы расширяетесь больше, чем подряд? Можем ли мы увидеть некоторые из них? – AGoodDisplayName

+0

подробности в оригинальном посте уже есть. –

ответ

0

У меня были некоторые проблемы, как это раньше и был в состоянии какой-то, что releive вопрос. Разница между моей проблемой и вашим заключается в том, что я использовал DevExpress XpoDataSource (версию DevExpress для ObjectDataSource).

  1. Во время разработки я установил источник данных, чтобы вернуть 0 записей. Таким образом, данные не удаляются при загрузке страницы (это может быть дорогостоящим для 3-х сеток и 3 источников данных), установив FilterExpression на что-то вроде «ID = 0». Похоже, это показало большую разницу в производительности.

  2. Очевидно, что вы хотите вернуть более 0 записей, поэтому вам нужно установить фильтрацию на событии «BeforePerformDataSelect» в сетке Detail.

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

Я не уверен, если это будет исправить вашу проблему, но это то, что я сделал, и это помогло.

+0

Спасибо за ответ, но, к сожалению, элемент управления ObjectDataSource поддерживает фильтрацию данных только тогда, когда метод Select возвращает объект DataSet или DataTable, тогда как мой объект ObjectDataSource возвращает список моих объектов = ( –