동적으로 생성 된 테이블과 이벤트 가로 채기 2 부
버튼이 동적으로 새로운 합계를 클릭하여이 테이블에 추가 될 때,이 논문은 예를 확장 할 것이다 전에 인터 문서 양식과 동적으로 생성되는 경우, "동적 열 (2, 3) 이벤트 인터셉터 테이블을 생성"하는 방법을 보여주는 거기 데이터 열입니다.
버튼이 첫 페이지에 배치되고, 그 속성은 UseSubmitBehavior이 = "거짓"이 절차는 영문을 다음과 같다 설정
이 예에서, 계수 데이터 행에 HiddenField의 사용은 표,으로 Request.Form 의해 포스트 백을 기록 ( "__의 EventTarget")가 btnAddRow 버튼에 의해 생성 여부를 결정한다.
* .aspx.vb
부분 클래스 _Default
상속 System.Web.UI.Page
정수로 개인 FRowCount
뉴에 HiddenField으로 뉴에 HiddenField (민간 FRowCountField) FRowCountField ()
'' '
'동적으로 생성 된 테이블' '.
'' '
개인 서브 CreateTable에서 () 서브 CreateTable에서 (ByVal의의 RowCount 정수로)
새 테이블로 희미한 oTable ()
TableRow으로 희미한 oRow
테이블 셀로 희미한 oCell
버튼으로 희미한 oButton
텍스트 상자로 희미한 oTextBox
정수로 희미한 N1
Me.Form.Controls.Add (oTable)
'建立3列1栏的,其中第1栏置放버튼,第2栏置放텍스트 상자
의 RowCount으로 N1 = 1의 경우
oRow = 새 TableRow ()
oTable.Rows.Add (oRow)
oCell = 새 테이블 셀 ()
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 = 새 텍스트 상자 ()
oTextBox.Text = "텍스트 상자 "& N1.ToString ()
oCell.Controls.Add (oTextBox)
다음
최종 서브
서브 후 Page_Init 서브 후 Page_Init () 보호 (개체로 ByVal의 송신자로서 ByVal의 경우 System.EventArgs e)이 Me.Init 처리
__RowCount"FRowCountField.ID = "를
내게 .Form.Controls.Add (FRowCountField)
'取得上次记录的数据列数
Me.Request.Form (FRowCountField.UniqueID이) 아무것도 그런없는 경우
FRowCount = 0
그렇지
FRowCount =에 CInt (Me.Request.Form (FRowCountField.UniqueID는))
만약 종료
( "__의 EventTarget")判断是否由btnAddRow按钮'由용으로 Request.Form을产生的다시 게시
Me.Request.Form는 ( "__의 EventTarget") = btnAddRow.UniqueID가 그런 경우
FRowCount = FRowCount + 1
끝내면
CreateTable에서 (FRowCount) '动态产生테이블.
서브 최종
개체로서 보호 서브를 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의 전자)
희미한 oButton 버튼으로
TableRow으로 희미한 oRow
테이블 셀로 희미한 oCell
텍스트 상자 = 아무것도 희미한 oTextBox
oButton =에서는 CType (발신자, 버튼)
oCell =에서는 CType (oButton.Parent, 테이블 셀)
oRow =에서는 CType (oCell.Parent, TableRow)
'即取得内含텍스트 상자的셀第2栏
oTextBox =에서는 CType (oRow.Cells (1). 컨트롤 (0), 텍스트 상자)
oTextBox.Text = oButton.Text
하위 종료
종료 클래스
ASP.NET 마법 학원
원본 : 열 대형 동적으로 생성 된 테이블과 이벤트 가로 채기 2 부