■73079 / inTopicNo.11) |
Re[4]: ModalPopupExtenderにおけるGridView |
□投稿者/ スカーレット (8回)-(2014/08/16(Sat) 20:03:06)
|
■No73068 (WebSurfer さん) に返信 > ■No73060 (スカーレット さん) に返信 > >> (1) GridView を UpdatePanel に入れておりますが、現象が発生してしまいます。 >>ちなみに、コードは下記です。 > > 詳しく見る時間がないのでアップされたコードは見てませんが(明日、時間があれば見ておきま > す)、自分が自分が作ったコードで検証た限りでは期待通りに行きましたが・・・ > > そのコードをアップしておきます。見ておいてください、 > > <%@ Page Language="C#" %> > <%@ Register Assembly="AjaxControlToolkit" > Namespace="AjaxControlToolkit" TagPrefix="asp" %> > > <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" > "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> > > <script runat="server"> > protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) > { > int index = ((GridView)sender).SelectedIndex; > } > </script> > > <html xmlns="http://www.w3.org/1999/xhtml"> > <head id="Head1" runat="server"> > <title></title> > <style type="text/css"> > .modalBackground { > background-color: Gray; > filter: alpha(opacity=70); > opacity: 0.7; > } > > .modalPopup { > height: 250px; > width: 400px; > background-color: White; > } > > .modalDraggableArea { > cursor: move; > background-color: #DDDDDD; > border: solid 1px Gray; > } > > body { > height: 400px; > width: 800px; > border: 1px solid red; > } > </style> > </head> > <body> > <form id="form1" runat="server"> > <asp:ToolkitScriptManager ID="Manager1" runat="server"> > </asp:ToolkitScriptManager> > <asp:ModalPopupExtender ID="ModalPopupExtender1" > runat="server" > TargetControlID="Button1" > PopupControlID="Panel1" > PopupDragHandleControlID="Panel2" > BackgroundCssClass="modalBackground" > OkControlID="Button2" > CancelControlID="Button3"> > </asp:ModalPopupExtender> > > <asp:Button ID="Button1" > runat="server" Text="ModalPopup 表示" /> > > <asp:Panel ID="Panel1" > runat="server" > CssClass="modalPopup"> > <asp:Panel ID="Panel2" > runat="server" > CssClass="modalDraggableArea"> > <p style="text-align: center;"> > ********* ここをつかんでドラッグ ********* > </p> > </asp:Panel> > <asp:UpdatePanel ID="UpdatePanel1" runat="server"> > <ContentTemplate> > <asp:SqlDataSource ID="SqlDataSource1" runat="server" > ConnectionString="<%$ ConnectionStrings:Northwind %>" > SelectCommand="SELECT TOP 5 [ProductID], [ProductName], [UnitPrice] FROM [Products]"> > </asp:SqlDataSource> > > <asp:GridView ID="GridView1" > runat="server" > AutoGenerateColumns="False" > DataKeyNames="ProductID" > DataSourceID="SqlDataSource1" > OnSelectedIndexChanged="GridView1_SelectedIndexChanged"> > <Columns> > <asp:CommandField ShowSelectButton="True" /> > <asp:BoundField DataField="ProductID" > HeaderText="ProductID" > InsertVisible="False" > ReadOnly="True" > SortExpression="ProductID" /> > <asp:BoundField DataField="ProductName" > HeaderText="ProductName" > SortExpression="ProductName" /> > <asp:BoundField DataField="UnitPrice" > HeaderText="UnitPrice" > SortExpression="UnitPrice" /> > </Columns> > </asp:GridView> > </ContentTemplate> > </asp:UpdatePanel> > <p style="text-align: center;"> > <asp:Button ID="Button2" runat="server" Text="OK" /> > <asp:Button ID="Button3" runat="server" Text="Cancel" /> > </p> > </asp:Panel> > > </form> > </body> > </html> > >> (2) ポストバック後再描画される時に、ModalPopup を表示する。 >>上記の方法をご教授願えないでしょうか? > > こちらは実際に検証していませんが、GridView.SelectedIndexChanged イベントのハンドラで > ModalPopup を表示するコードを追加すればうまく行きませんか?
度々のご返信ありがとうございます。
> こちらは実際に検証していませんが、GridView.SelectedIndexChanged イベントのハンドラで > ModalPopup を表示するコードを追加すればうまく行きませんか?
GridView.SelectedIndexChanged イベントのハンドラで modal.Show() することで、ポップアップは閉じなくなりましたが、 [選択]を押下するとGridViewのスクロールバー(Panel内にUpdatePanel、GridViewを配置しております) が先頭に戻ってしまいます。 これを回避する方法はありませんでしょうか?
|
|