2

データグリッドの外でチェックボックスを使用しています。チェックボックスの自動ポストバックをオンにすると、画像が表示されますが、そのスクリプトを使用してデータグリッド内の画像にアクセスできません。データグリッドの外で別の画像を使用すると、スクリプトが機能します。データグリッドの外側のチェックボックスがチェックされ、データグリッド内に画像が表示されたときに、このスクリプトを機能させるにはどうすればよいですか?

私が使用しているスクリプトは

<script runat="server">

    Sub Check(sender As Object, e As EventArgs)
        If checkShowImages.Checked Then
                img.Visible = True

        Else
            img.Visible = False
        End If
    End Sub

</script>
4

2 に答える 2

1

checkboxこれを試してください(あなたのIDが「CheckBox1」であり、 DataGridIDが「Datagrid1」である と仮定します)...

Sub Check(sender As Object, e As EventArgs)
    For Each r As DataGridItem In Datagrid1.Items
        Try
            r.FindControl("img").Visible = CheckBox1.Checked
        Catch ex As Exception

        End Try
    Next
end sub  

お役に立てれば。幸運を。

于 2012-05-21T10:23:26.547 に答える
0

私が正しく理解していれば、外側のチェックボックスが選択されているときに表示したい画像が GridView にあります。これを行うには、次のように GridView の行を反復処理する必要があります。

foreach (GridViewRow row in myGrid.Rows)
{
   Image myImage = row.FindControl("HiddenImage") as Image;

   //Hide or show image based on checkbox state
   myImage.Visible = checkShowImages.Checked;       
}

VB (少しさびた):

For Each row As GridViewRow In myGrid.Rows
    Dim myImage As Image = TryCast(row.FindControl("HiddenImage"), Image)

    'Hide or show image based on checkbox state
    myImage.Visible = checkShowImages.Checked
Next
于 2012-05-21T10:21:36.727 に答える