동적으로 생성 된 테이블과 이벤트 가로 채기 2 부

동적으로 생성 된 테이블과 이벤트 가로 채기 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 부


추천

출처www.cnblogs.com/chinatrump/p/11513097.html