「未編集(いろいろコントロール説明無し自分専用)」の編集履歴(バックアップ)一覧に戻る

未編集(いろいろコントロール説明無し自分専用) - (2008/01/31 (木) 13:48:23) のソース

#highlight(vb.net){{
Partial Class _Default

    Inherits System.Web.UI.Page

    '一括更新
    Protected Sub Button1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button1.Click

        Dim cboxControl
        Dim dlistControl As DropDownList = New DropDownList

        Dim Colum1 As String
        Dim Colum2 As String
        Dim Colum3 As String
        Dim Colum4 As String

        Dim PostData1 As String = ""
        Dim PostData2 As String = ""
        Dim PostData3 As String = ""
        Dim PostData4 As String = ""

        Dim Flag As Boolean = False
        Dim I As Integer

        'GridViewの行数分ループする
        For I = 0 To GridView1.Rows.Count - 1

            'checkboxのコントロールの取得
            cboxControl = GridView1.Rows(I).FindControl("checkbox1")
            'ドロップダウンリストのコントロールの取得
            dlistControl = GridView1.Rows(I).FindControl("DropDownList1")

            'Checkboxのチェック情報を調査
            If cboxControl.checked = True Then

                '行ごとのカラムデータを取得
                Colum1 = GridView1.Rows(I).Cells(1).Text + vbTab
                Colum2 = GridView1.Rows(I).Cells(2).Text + vbTab
                Colum3 = GridView1.Rows(I).Cells(3).Text + vbTab
                Colum4 = dlistControl.SelectedItem.Text

                'デバッグ表示
                Response.Write(Colum1 & vbTab)
                Response.Write(Colum2 & vbTab)
                Response.Write(Colum3 & vbTab)
                Response.Write(Colum4 & "<br />")

                '初回通過時は先頭に,をつけない。
                If Flag = False Then

                    '空じゃなければ通過する
                    If Colum1 <> "" Then

                        'POST送信用に文字列連結(初回なのでカンマ無し)
                        PostData1 &= Colum1
                        PostData2 &= Colum2
                        PostData3 &= Colum3
                        PostData4 &= Colum4

                        Flag = True

                    End If

                Else

                    'POST送信用に文字列連結(2回目以降なのでカンマ有)
                    PostData1 &= "," & Colum1
                    PostData2 &= "," & Colum2
                    PostData3 &= "," & Colum3
                    PostData4 &= "," & Colum4

                End If

            End If

        Next

        '更新結果が無ければエラーメッセージを出力しあれば更新処理を行う。
        If Flag = False Then

            Response.Write("チェックがついていません。")

        Else

            Dim St As String

            '###########################################################################################
            '更新フォームに値を送信するJavaScript
            '別ウインドウを開き、GridViewの値をPOSTで送信する
            '###########################################################################################
            St = "<form name='driftForm' id='driftForm' action='default2.aspx' method='post' >" & vbCrLf
            St &= "<input type='hidden' name='番号'           value='" & PostData1 & "' />" & vbCrLf
            St &= "<input type='hidden' name='状態選択'       value='" & PostData2 & "' />" & vbCrLf
            St &= "<input type='hidden' name='メールアドレス' value='" & PostData3 & "' />" & vbCrLf
            St &= "<input type='hidden' name='担当者ID'       value='" & PostData4 & "' />" & vbCrLf
            St &= "<input type='hidden' name='処理日'         value='' />" & vbCrLf
            St &= "</form>" & vbCrLf
            St &= "<SCRIPT LANGUAGE='javascript'>" & vbCrLf
            St &= "window.open('default2.aspx','winPopUp','width=640,height480=,toolbar=no,resizable=yes,scrollbars=yes');" & vbCrLf
            St &= "var obj = new Object();" & vbCrLf
            St &= "obj = document.getElementById('driftForm');" & vbCrLf
            St &= "obj.target = 'winPopUp';" & vbCrLf
            St &= "document.driftForm.submit()" & vbCrLf
            St &= "</SCRIPT>" & vbCrLf

            Response.Write(St)

        End If


    End Sub

    '個別更新
    Protected Sub Button2_Click(ByVal sender As Object, ByVal e As System.EventArgs)

        Dim cboxControl

        Dim CurrentbuttonID As String
        Dim buttonID As String

        Dim dlistControl As DropDownList = New DropDownList

        Dim Colum1 As String
        Dim Colum2 As String
        Dim Colum3 As String
        Dim Colum4 As String

        '送信イベントからIDを取得
        buttonID = sender.ClientId()

        Dim I As Integer

        'GridViewの行数分ループする
        For I = 0 To GridView1.Rows.Count - 1

            'checkboxのコントロールの取得
            cboxControl = GridView1.Rows(I)
            '現在処理中の行のボタンのIDを取得
            CurrentbuttonID = CType(cboxControl.ClientID, String) + "_Button2"
            'ドロップダウンリストのコントロールの取得
            dlistControl = GridView1.Rows(I).FindControl("DropDownList1")

            'イベントハンドラに送られてきたbuttonIDと一致したボタンがある行を対象に処理
            If CurrentbuttonID = buttonID Then

                GridView1.Rows(i).Cells.


                '行ごとのカラムデータを取得
                Colum1 = GridView1.Rows(I).Cells(1).Text + vbTab
                Colum2 = GridView1.Rows(I).Cells(2).Text + vbTab
                Colum3 = GridView1.Rows(I).Cells(3).Text + vbTab
                Colum4 = dlistControl.SelectedItem.Text

                'デバッグ表示
                Response.Write(Colum1 & vbTab)
                Response.Write(Colum2 & vbTab)
                Response.Write(Colum3 & vbTab)
                Response.Write(Colum4 & "<br />")

                Dim St As String

                '###########################################################################################
                '更新フォームに値を送信するJavaScript
                '別ウインドウを開き、GridViewの値をPOSTで送信する
                '###########################################################################################
                St = "<form name='driftForm' id='driftForm' action='default2.aspx' method='post' >" & vbCrLf
                St &= "<input type='hidden' name='番号'           value='" & Colum1 & "' />" & vbCrLf
                St &= "<input type='hidden' name='状態選択'       value='" & Colum2 & "' />" & vbCrLf
                St &= "<input type='hidden' name='メールアドレス' value='" & Colum3 & "' />" & vbCrLf
                St &= "<input type='hidden' name='担当者ID'       value='" & Colum4 & "' />" & vbCrLf
                St &= "<input type='hidden' name='処理日'         value='' />" & vbCrLf
                St &= "</form>" & vbCrLf
                St &= "<SCRIPT LANGUAGE='javascript'>" & vbCrLf
                St &= "window.open('default2.aspx','winPopUp','width=640,height480=,toolbar=no,resizable=yes,scrollbars=yes');" & vbCrLf
                St &= "var obj = new Object();" & vbCrLf
                St &= "obj = document.getElementById('driftForm');" & vbCrLf
                St &= "obj.target = 'winPopUp';" & vbCrLf
                St &= "document.driftForm.submit()" & vbCrLf
                St &= "</SCRIPT>" & vbCrLf

                Response.Write(St)

            End If

        Next

    End Sub

    '全選択するメソッド
    Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button3.Click

        Dim I As Integer
        Dim hantei
        Dim dlist As DropDownList = New DropDownList
        Dim key As String

        key = sender.ClientId()

        For I = 0 To GridView1.Rows.Count - 1

            hantei = GridView1.Rows(I).FindControl("checkbox1")
            hantei.checked = True

        Next

    End Sub

    '全選択解除するメソッド
    Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Button4.Click

        Dim I As Integer
        Dim hantei
        Dim dlist As DropDownList = New DropDownList
        Dim key As String

        key = sender.ClientId()

        For I = 0 To GridView1.Rows.Count - 1

            hantei = GridView1.Rows(I).FindControl("checkbox1")

            hantei.checked = False

        Next

    End Sub

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

    End Sub




End Class
}}
人気記事ランキング
目安箱バナー