- - PR -
ポップアップから選択したデータをデータグリッドのテンプレート列にあるテキストボックスに表示したい!
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2003-09-19 15:10
いつも大変参考にさせていただいております。
過去レスを検索したのですが、似たものがなかったので質問します。 VB.NETでWEBの開発しています。 データグリッドのテンプレート列にテキストボックスとコマンドボタンを配置しています。 そのコマンドボタンを押すと、ポップアップウィンドウが開きます。↓ Dim strScript As String Dim strtxt As String = "TextBox1" strScript &= "<script language=javascript>" strScript &= "var feature = 'Height=500, Width=700, Top=100, Left=200, dependent=yes, location=no, resizable=yes, scrollbars=yes, toolbar=no';" strScript &= "window.open('Bumoncd.aspx?source=" & strtxt & "','', feature);" strScript &= "</script>" Response.Write(strScript) その中で選択してきたデータ(部門コード:strBmncd)を、元画面のデータグリッド上のテキストボックスに表示したいのです。 JavaScriptで下記のように書いてみているのですが、この方法だと、テキストボックスには表示できますが、データグリッド上のテキストボックスにはうまくデータを入れることができないのです。 Dim strSource As String = Request.Params("source") Dim strScript As String strScript &= "<script language=javascript>" strScript &= "window.opener.Form1." & strSource & ".value=' " & strBmncd & "';" strScript &= "window.close();" strScript &= "</script>" Response.Write(strScript) 何か良い方法をご教授お願いします。 | ||||||||
|
投稿日時: 2003-09-19 19:18
生成されたテキストボックスのIDは、
DataGrid1__ctl?_TextBox1 のようになっていませんか? WebフォームにJavaScriptからアクセスするなら、 出力HTMLを見て、それにあわせたコードを書く必要があると思います。 (コンポーネントの出力に依存したプログラムを書くと保守コストが増えそうですが・・・。) | ||||||||
|
投稿日時: 2003-09-19 22:14
取得するようにしてやればいいと思います。 子画面でわざわざポストバックしてるようですが(何か処理してるのかな)、提示ソースに沿った形で修正しました。
| ||||||||
|
投稿日時: 2003-09-23 16:28
あすかぜさん、ぴでさんご教授ありがとうございました.
早速試してみました. あすかぜさんのご指摘通り確かになっていました. そこでぴでさんのやり方を真似させていただき -----------------JAVASCRIPT--------------------------------- <script language="javascript"> <!-- function OpenPopup(v){ window.open("Bumoncd.aspx?source=" + v.parentElement.children[0].id); } // --> </script> ---------------------- HTML -------------------- <EditItemTemplate> <asp:TextBox id=txtBmncd_SK runat="server" Width="86px" Text='<%#DataBinder.Eval(Container, "DataItem.BUMONCD") %>' MaxLength="4"></asp:TextBox> <INPUT id="cmdBmncd_SK" onclick="OpenPopup(this)" type="button" value="?" runat="server"> </EditItemTemplate> で解決できました。ありがとうございました. |
1