2011-11-09 6 views
2

私はASPxPopupControlとASPxGridViewを持っています。 このPopupControlの中に私は個人情報を編集するためのフォームを含む私自身のusercontrolを持っています。 GridViewの内部には、異なる人物のリストがあります。 私はgridviewで別の人を選択するとき、私はそれを編集することができるように、選択されたユーザーの個人情報に更新するpopupcontrolの内容をします。ASPxGridViewの選択でASPxPopupが更新されませんでした

私の問題は、私はこれを動作させることができません、私はすべての種類のトリガを使用して更新パネルを配置しようとしましたか更新するupdatepanelを強制的に試みました。しかし、それはまだ動作しません。

PopupControl:SELECTION_CHANGED

<dx:ASPxPopupControl ID="pcVolgnummerToevoegen" runat="server" AllowDragging="True" ClientInstanceName="popup_toevoegen" CloseAction="CloseButton" LoadingPanelText="Laden&amp;hellip;" Height="700" Width="700" Modal="True" PopupHorizontalAlign="WindowCenter" PopupVerticalAlign="WindowCenter"> 
<ContentCollection> 
<dx:PopupControlContentControl ID="pcVolgnummerToevoegenContent" runat="server"> 
    <asp:UpdatePanel ID="upnlToevoegen" runat="server" UpdateMode="Conditional"> 
    <ContentTemplate> 
     <uc:GegevensControl ID="ucGegevensControl_Toevoegen" runat="server" /> 
    </ContentTemplate> 
    <Triggers> 
     <asp:AsyncPostBackTrigger ControlID="KlantVolgnummerGrid" /> 
    </Triggers> 
    </asp:UpdatePanel> 
</dx:PopupControlContentControl> 
</ContentCollection> 
</dx:ASPxPopupControl> 

のDataView:ポップアップ

protected void Page_Load(object sender, EventArgs e) 
{ 
Person varPerson = PersonControllerClient.GetPerson(Session["Person_Id"]); 
....Code that fills the form 
} 

内のユーザーコントロールの

protected void KlantVolgnummerGrid_SelectionChanged(object sender, EventArgs e) 
{ 
    Session["Person_Id"] = KlantVolgnummerGrid.GetSelectedFieldValues("ID"); 
} 

をPage_Load私はGridViewコントロールのSelectionChangedイベントをチェックして、それがトリガーされます。しかし、更新パネルは更新されません。 ページを更新した後、選択した人物がポップアップの内側に表示されます。

私は別の人を選択するたびにページを更新することなく、適切な人物を表示するためのポップアップを更新できますか?

答えて

0

トリガを削除し、ChildrenAsTriggers="false"

<asp:UpdatePanel ID="upnlToevoegen" runat="server" UpdateMode="Conditional" ChildrenAsTriggers="false"> 
    <ContentTemplate> 
     <uc:GegevensControl ID="ucGegevensControl_Toevoegen" runat="server" /> 
    </ContentTemplate> 
    </asp:UpdatePanel> 

あなたのUpdatePanel上のコードビハインドを追加:UpdatePanelのコールバックを使用してグリッドを強制するASPxGridViewコールバックモードを無効にし

protected void KlantVolgnummerGrid_SelectionChanged(object sender, EventArgs e) 
{ 
    int id = KlantVolgnummerGrid.GetSelectedFieldValues("ID"); 
    Person varPerson = PersonControllerClient.GetPerson(id); 
    ....Code that fills the form 

    upnlToevoegen.Update(); 
} 
+0

助けてくれてありがとうございますが、これはうまくいきませんでした。既に何度も試してみましたが、もう一度試しましたが、うまくいきませんでした。 – Pedryk

関連する問題