- - PR -
DataGrid内のTextBoxなどのイベント取得方法
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2002-09-28 07:57
@ITさんへ:
上のスレッドを編集するとこのようにHTMLタグが表示されます。 対応お願いします。 <!-- BBCode Start --><TABLE BORDER=0 ALIGN=CENTER WIDTH="90%" CELLSPACING=0 CELLPADDING=0><TR><TD WIDTH="5%" NOWRAP><FONT SIZE="-1">コード:</FONT></TD><TD WIDHT="95%"><HR SIZE="1"></TD></TR><TR><TD COLSPAN="2"><PRE> Sub txtCustomerName_TextChanged(source As Object, e As EventArgs) Dim oTextBox As TextBox = CType(source, TextBox) Dim oContainer As DataGridItem = CType(oTextBox.NamingContainer, DataGridItem) Dim oLabel As Label = CType(oContainer.FindControl("lblCustomerName"), Label) oLabel.Text = oTextBox.Text End Sub <Columns> <asp:TemplateColumn HeaderText="Customer Name"> <ItemTemplate> <asp:Label id="lblCustomerName" runat="server" Text='<%# Container.DataItem("CustomerName") %>' /> </ItemTemplate> <EditItemTemplate> <asp:TextBox id="txtCustomerName" runat="server" Text='<%# Container.DataItem("CustomerName") %>' MaxLength="40" AutoPostBack="True" OnTextChanged="txtCustomerName_TextChanged" /> <asp:Label id="lblCustomerName" runat="server" /> </EditItemTemplate> </asp:TemplateColumn> </Columns></PRE><HR SIZE="1"></TD></TR></TABLE><!-- BBCode End --> [ メッセージ編集済み 編集者: Dr ADO.NET 編集日時 2002-09-28 07:59 ] | ||||
|
投稿日時: 2002-10-01 03:48
Dr.ADO.NETさん、サンプルありがとうございます。
試しても中々うまくいかなかったのですが、 Private Sub txtCustomerName_TextChanged(source As Object, e As EventArgs) としていた、Privateをとって、 Sub txtCustomerName_TextChanged(source As Object, e As EventArgs) としたところ、とりあえず正常に動作したのを確認できました。 でも、なぜ他のイベントプロシージャにはPrivateがついているのに この場合はPrivateをとらなければ動かなかったのかは不明です。 うーん??? | ||||
|
投稿日時: 2002-10-01 09:39
@ITの樋口です。
ご報告ありがとうございます。調査いたします。 _________________ 樋口 理 株式会社アットマーク・アイティ | ||||
|
投稿日時: 2002-10-01 11:21
@ITの樋口です。
バグでした。修正いたしました。ご迷惑をおかけしました。 ところで、システム上の不具合などについては、ご面倒でもバグレポート・システムへの要望会議室に新しいスレッドで書き込んでいただけますようご協力をお願いいたします。せっかくの本題のスレッドをこういう「業務連絡」でお邪魔するのが心苦しいので…… _________________ 樋口 理 株式会社アットマーク・アイティ | ||||
|
投稿日時: 2002-10-01 11:30
了解しました。
今後気をつけます。 | ||||
|
投稿日時: 2002-11-06 15:36
確認がめちゃめちゃ遅くなってしまいましたが(笑)
ばっちり動きました!>Dr ADO.NETさん。 どうもありがとうございます。 うーむ目から鱗。オブジェクト指向って感じですよねぇ(謎) ちなみに僕がやったのは、Repeater内のコンボボックスのチェンジイベントです。サンプルソールは以下の通りです。 Sub PSDL_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Dim psd As DropDownList = CType(sender, DropDownList) Dim oCon As RepeaterItem = CType(psd.NamingContainer, RepeaterItem) Dim drv As DataRowView = Session("Sbview")(oCon.ItemIndex) drv.BeginEdit() drv("注文数") = psd.SelectedItem.Value drv("金額") = drv("単価") * psd.SelectedItem.Value drv.EndEdit() basrep.DataSource = Session("Sbview") basrep.DataBind() End Sub 実際のソースなのでちょっとわかりにくいですね。 >としていた、Privateをとって、 どうもPrivateがあるとASPX側からはスコープが届かないみたいですね。なので、恐らく他のスコープなら大丈夫なのかと。 大変参考になりました。 _________________ -------------------------------------- ネットビルド 小田原貴樹 odahara@netbuiuld.jp -------------------------------------- |