- PR -

DataGridのItemTemplateを使用したテキストボックスにフォーカスを当てる方法

1
投稿者投稿内容
ベンジャミン
会議室デビュー日: 2005/02/12
投稿数: 7
投稿日時: 2005-02-23 10:55
お世話になります。

DataGridを使用しております。そのDataGridにItemTemplateを使用して、テキストボックスを作成しました。以下がその内容です。

<Columns>
<asp:BoundColumn DataField="SYOCD" HeaderText="品番">
<HeaderStyle Width="120px"></HeaderStyle>
</asp:BoundColumn>
<asp:TemplateColumn HeaderText="注文数">
<ItemTemplate>
  <asp:TextBox id=orderSU_ItemTemplateTextBox Width = 50px runat="server" Text='<%# DataBinder.Eval(Container.DataItem,"URIAGESU_SYUKEI") %>'>
  </asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>
</Columns>

注文数テキストボックスにフォーカスを当てるために以下のように記述しました。

'x行目の注文数テキストボックスを取得
Dim txtbox_orderSU As TextBox = CType(grdMISEBETSU_URIAGE_SYUKEI.Items(x).FindControl("orderSU_ItemTemplateTextBox"), TextBox)

'取得したテキストボックスにフォーカスをあてる
Dim script As New System.Text.StringBuilder
script.Append("<script language=""javascript"">")
script.Append("document.Form1.txtbox_orderSU.focus();")
script.Append("</script>")
Page.RegisterStartupScript("authenticated", script.ToString)

しかし、上記javascriptを実行すると、’document.Form1.txtbox_orderSUはNULLまたはオブジェクトではありません。’を返されてしまい、フォーカスを当てることができません。ItemTemplateを使用したテキストボックスにフォーカスを当てる方法を教えてほしいです。
SE卵
大ベテラン
会議室デビュー日: 2004/10/22
投稿数: 135
投稿日時: 2005-02-23 11:16
こんにちは。

こんなんでどうですか?

コード:

script.Append("<script language='JavaScript'>" & vbCrLf)
script.Append(vbTab & "document.getElementById('")
script.Append(txtbox_orderSU.ClientID)
script.Append("').focus();" & vbCrLf)
script.Append("</script>")



参考
http://www.atmarkit.co.jp/fdotnet/dotnettips/161setfocus/setfocus.html

[ メッセージ編集済み 編集者: SE卵 編集日時 2005-02-23 11:18 ]
ベンジャミン
会議室デビュー日: 2005/02/12
投稿数: 7
投稿日時: 2005-02-23 13:55
ありがとうございます。

しかも、私用に具体例を作成して頂いて、感謝の気持ちでいっぱいです。
おかげで秒殺でクリアできました。
1

スキルアップ/キャリアアップ(JOB@IT)