2011-08-11 91 views
1

我有一箇中繼器控件,重複一個DevExpress ASPxGridView綁定到中繼器的每個項目。中繼器包含在更新面板中。 UpdatePanel外部的頁面上的事件觸發UpdatePanel(以及隨後的中繼器)進行更新。所有工作正常,如果記錄存在綁定到中繼器。中繼器爲每條記錄呈現一個網格,所有樣式看起來都很完美。DevExpress隱藏的GridView的CSS問題

如果頁面最初加載並且沒有項目要在中繼器中顯示,則不會呈現網格(按預期工作,直到此時爲止)。如果最終添加記錄並且中繼器重新綁定(由於觸發的UpdatePanel),則不會顯示網格樣式。如果整個頁面被刷新,網格的樣式將完美顯示。請記住,我正在使用網格的默認樣式之一,因此這些樣式將從AXD中拉出,而不包含在我的母版頁中。

有點過分代碼發佈,但標記的堅果類似於此:

<asp:UpdatePanel ID="the UpdatePanelInQuestion" runat="server" UpdateMode="Conditional"> 
    <asp:Repeater ID="theRepeaterInQuestion" runat="server" OnItemDataBound="theMethodThatHandlesGridPopulation"> 
    <ItemTemplate> 
     <dxwgv:ASPxGridView ID="theGridViewInQuestion" runat="server" EnableViewState="false"> 
     <Columns> 
     ... 
     </Columns> 
    </ItemTemplate> 
    </asp:Repeater> 
</asp:UpdatePanel> 

如何使樣式的網格顯示正常,沒有任何想法: 1)刷新整個頁面而不是觸發。 2)在style =「display:none;」的頁面上放置另一個空網格強制樣式下載。

+1

嘗試將UpdatePanel更改爲ASPxCallbackPanel。 – vladimir77

回答

0

此問題是由於最初沒有在頁面上註冊DX ASP.NET控件所需的腳本而造成的。有可能通過DevExpress.Web.ASPxClasses.ASPxWebControl.RegisterBaseScript方法明確註冊它們。

請查看http://www.devexpress.com/issue=B191046支持中心的門票。

+0

實際上沒有嘗試過這個,因爲我用Telerik RadGrid替換了DevExpress網格,並且不需要明確地註冊控件......但這正是我最初尋找的內容。大發現未來使用! – StevieG

+0

感謝您的評論。你可以對Telerik RadGrid說什麼?我的發展尚未使用它。 – Mikhail