動的に生成されたテーブルとイベント傍受パート2

動的に生成されたテーブルとイベント傍受パート2


記事のフォームと前に傍受動的に生成されたイベントでは、「動的に列2および3イベントインターセプタのテーブルを生成」する方法のデモンストレーションがあり、このホワイトペーパーでは、ボタンは動的に新しい和をクリックすることで、テーブルに追加する場合、この例を拡張しますデータ列。

ボタンは、最初のページに配置され、その属性は、ASPXが次のようにUseSubmitBehavior =「False」に、手順がある設定します

    


    

        

    

この例では、係数データ列を使用することは、表を記録するためのHiddenField、のRequest.Form(「__のEventTarget」)によってポストバックbtnAddRowボタンによって生成されたか否かを判定する。

* .aspx.vb

部分クラス_Default
    継承System.Web.UI.Page

    整数としてプライベートFRowCount
    新のHiddenFieldなどの新しいのHiddenField(プライベートFRowCountField)FRowCountField()

    「「」


    「」動的に生成された表を「。
    「'」

    プライベートサブのCreateTable(整数としてByVal行カウント)()サブのCreateTable
        新しい表として暗いoTable()
        のTableRowとして暗いoRow
        テーブルセルとして暗いoCell
        ボタンとして暗いoButton
        のTextBoxとして暗いoTextBox
        整数として暗いN1

        Me.Form.Controls.Add(oTable)
        「建立3列1栏的、其中第1栏置放ボタン、第2栏置放テキストボックス
        行カウントにN1 = 1について
            oRow =新規のTableRow()
            oTable.Rows.Add(oRow)

            oCell =新規のTableCell()
            oRow。 Cells.Add(oCell)
            oButton =新しいボタン
            oButton.Text = "ボタン" &N1.ToString()
            「将ボタンをクリック的事件导向Button_Click函数  
            のAddHandler oButton.Click、のAddressOf Button_Click
            oCell.Controls.Add(oButton)

            oCell =新しいテーブルセル()
            oRow.Cells.Add(oCell)
            oTextBox =新のTextBox()
            oTextBox.Text =「テキストボックス"&N1.ToString()
            oCell.Controls.Add(oTextBox)
        次に
    End Subの

    サブPage_Init(プロテクト)サブPage_Init(オブジェクト、System.EventArgsとしてByVal電子としてByVal送信者)Me.Initハンドル
        FRowCountField.ID = "__RowCount"
        ミー.Form.Controls.Add(FRowCountField)

        「取得上次记录的数据列数
        Me.Request.Form(FRowCountField.UniqueID)は、何もしない場合
            FRowCount = 0
        エルス
            FRowCount = CInt関数(Me.Request.Form(FRowCountField.UniqueID))
        場合は終了

        「由のRequest.Form( "__のEventTarget")判断是否由btnAddRow按钮产生的ポストバック
        の場合Me.Request.Form( "__のEventTarget")= btnAddRow.UniqueID次に
            FRowCount = FRowCount + 1
        END IF

        のCreateTable(FRowCount)「动态产生表。
    End Subの

    サブをPage_Load(保護)サブをPage_Load(オブジェクトとしてByVal送信者、 System.EventArgsとしてByVal e)はMe.Loadハンドル
        FRowCountField.Value = FRowCount.ToString()
    End Subのを

    「表中所有的ボタン的事件导向函数クリックして  
    サブButton_Click(保護)サブButton_Click(オブジェクトとしてByVal送信者、System.EventArgsとしてByVal e)の
        ボタンとして暗いoButton
        のTableRowとして暗いoRow
        テーブルセルとして暗いoCell

        のTextBox =何もないとして暗いoTextBox

        oButton = ctype関数(送信ボタン)
        oCell = ctype関数(oButton.Parent、のTableCell)
        oRow = ctype関数(oCell.Parent、のTableRow)

        第2栏即「取得内含テキストボックス的セル、
        oTextBox = ctype関数(oRow.Cells(1)。コントロール(0)、TextBoxの)
        oTextBox.Text = oButton.Text
    End Subの


エンドクラス

ASP.NET 魔法学院

オリジナル:大列を  動的に生成されたテーブルとイベント傍受パート2


おすすめ

転載: www.cnblogs.com/chinatrump/p/11513097.html