2014-09-12 72 views
0

访问单独的行模板,我在TemplateFieldListBox(名为ListBoxProperty)和button(btnDeselectAll)上gridview控制,显示在gridview的每一行。下面显示的代码是TemplateField中按钮控件背后的代码。此代码适用于gridview中每行的每个ListBox。我希望它仅影响点击它的gridview行中的ListBox。我尝试了一些失败的东西,所以我没有包括我的失败 - 只是几乎给我我想要的部分。不能包含照片,唉,我的声誉很薄弱。在GridView控件

Protected Sub btnDeselectAll_Click(sender As Object, e As System.EventArgs) 
    For Each Row As GridViewRow In GridView1.Rows 
     Dim myListBox As ListBox = _ 
      CType(Row.FindControl("ListBoxProperty"), ListBox) 
     For Each selectedItem As ListItem In myListBox.Items 
      selectedItem.Selected = False 
     Next 
    Next 
End Sub 

回答

0

按钮的NamingContainerGridViewRow,有你。

Protected Sub btnDeselectAll_Click(sender As Object, e As System.EventArgs) 
    Dim btn = DirectCast(sender, Button) 
    Dim row = DirectCast(btn.NamingContainer, GridViewRow) 
    Dim myListBox = DirectCast(row.FindControl("ListBoxProperty"), ListBox) 
    For Each selectedItem As ListItem In myListBox.Items 
     selectedItem.Selected = False 
    Next 
End Sub 
+0

相当完美。非常感谢。 – 2014-09-12 19:55:45