動的に生成されたテーブルとイベント傍受パート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