C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[3]: 動的に追加された項目を逆に削除していくには?


(過去ログ 24 を表示中)

[トピック内 4 記事 (1 - 4 表示)]  << 0 >>

■10490 / inTopicNo.1)  動的に追加された項目を逆に削除していくには?
  
□投稿者/ ナンバーズ (1回)-(2007/11/19(Mon) 12:45:08)

分類:[ASP.NET (VB)] 

こんにちは。

質問なのですが、現在VS2005、言語はVBでASP.NETの開発のお手伝いをしています。

現在画面には追加ボタンを押すとテキストボックス・削除ボタンが画面に追加され
追加ボタンを押すたびに画面にテキストボックス・削除ボタンが追加されています。

今度は逆に削除ボタンを押すと、押した行のテキストボックスと削除ボタンを削除するようにしたいのですが
どのようにすればいいでしょうか?

現在下記のようにコーディングしています。

Private Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim tRow As System.Web.UI.HtmlControls.HtmlTableRow
        Dim tCell As System.Web.UI.HtmlControls.HtmlTableCell
        Dim FieldList As DropDownList
        Dim tbox As New TextBox
        Dim tbox2 As New TextBox
        Dim tButton As Button
        Dim iCount As Integer = Table.Rows.Count

        tRow = New System.Web.UI.HtmlControls.HtmlTableRow
        tCell = New System.Web.UI.HtmlControls.HtmlTableCell
        FieldList = New DropDownList
        FieldList.ID = "FieldList_" & CStr(iCount)
        FieldList.Items.Add("A")
        FieldList.Items.Add("B")
        FieldList.Items.Add("C")
        FieldList.Items.Add("D")
        FieldList.Items.Add("E")
        FieldList.Items.Add("F")

        tCell.Controls.Add(FieldList)
        tRow.Cells.Add(tCell)

        tCell = New System.Web.UI.HtmlControls.HtmlTableCell
        FieldList = New DropDownList
        FieldList.ID = "Expression_" & CStr(iCount)
        FieldList.Width = 40
        FieldList.Items.Add("=")
        FieldList.Items.Add(">")
        FieldList.Items.Add("<")


        tCell.Controls.Add(FieldList)
        tRow.Cells.Add(tCell)

        tCell = New System.Web.UI.HtmlControls.HtmlTableCell
        tbox2.Width = 292
        tbox2.ID = "TextBox_" & CStr(iCount)

        tCell.Controls.Add(tbox2)
        tRow.Cells.Add(tCell)

        tCell = New System.Web.UI.HtmlControls.HtmlTableCell
        tButton = New Button
        tButton.Text = "削除"
        tButton.ID = "addBtn_" & CStr(iCount)

        tCell.Controls.Add(tButton)
        tRow.Cells.Add(tCell)

    conditionTbl.Rows.Add(tRow)

        iCount += 1

End Sub

引用返信 編集キー/
■10494 / inTopicNo.2)  Re[1]: 動的に追加された項目を逆に削除していくには?
□投稿者/ もみ (1回)-(2007/11/19(Mon) 16:56:55)
こんにちは。
削除対象controlを非表示にしてはどうでしょうか。

〜 略 〜
tCell = New System.Web.UI.HtmlControls.HtmlTableCell
tbox2.Width = 292
tbox2.ID = "TextBox_" & CStr(iCount)

tCell.Controls.Add(tbox2)
tRow.Cells.Add(tCell)

tCell = New System.Web.UI.HtmlControls.HtmlTableCell
tButton = New Button
tButton.Text = "削除"
tButton.ID = "addBtn_" & CStr(iCount)

tCell.Controls.Add(tButton)

' ********** 追 加 **********
AddHandler tButton.Click, AddressOf Button_Click

tRow.Cells.Add(tCell)

    conditionTbl.Rows.Add(tRow)

iCount += 1

End Sub

' ********** 追 加 **********
private sub Button_Click(ByVal sender As Object, ByVal e As EventArgs)
{
' 削除ボタンを押したcontrolを非表示にする。
Ctype(sender, Button).Visible = false
}


引用返信 編集キー/
■10496 / inTopicNo.3)  Re[2]: 動的に追加された項目を逆に削除していくには?
□投稿者/ まさる (12回)-(2007/11/19(Mon) 18:01:11)
まさる さんの Web サイト
追加したコントロールの情報をStackに保持するようにすればいいのではないでしょうか?

Stack ジェネリッククラス
http://msdn2.microsoft.com/ja-jp/library/3278tedw(VS.80).aspx

#もっと楽な方法もありそうですけど。
引用返信 編集キー/
■10514 / inTopicNo.4)  Re[3]: 動的に追加された項目を逆に削除していくには?
□投稿者/ まさる (13回)-(2007/11/20(Tue) 10:05:03)
まさる さんの Web サイト
一度回答しておいて今更なのですが、

>今度は逆に削除ボタンを押すと、押した行のテキストボックスと削除ボタンを削除するようにしたいのですが
>どのようにすればいいでしょうか?

とは、

1.削除ボタンを押したときに何らかの処理を行う方法が分からない。
2.削除ボタンを押した行を特定する方法が分からない。
3.特定した行の中から、テキストボックス、削除ボタンを特定する方法が分からない。
4.特定したテキストボックス、削除ボタンを削除する方法が分からない。

のどの意味でしょうか?

引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -