Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Nested gridview select All

Posted on 2009-07-06
3
Medium Priority
?
763 Views
Last Modified: 2012-06-27
I have a gridview within a gridview.

I want to be able once selecting the inner gridview to select all the items via a checkbox in the header template.

I was using http://www.aspboy.com/Categories/GridArticles/Hierarchical_GridView_With_Clickable_Rows.aspx asa a basis for my code.

Iv'e tried the following code to see if i could figure it out but it does not recognise my cbAll (the checkbox in the headertemplate of the child gridview)
Protected Sub cbAll_CheckChanged(ByVal s As Object, ByVal e As EventArgs)
        Dim blnChecked As Boolean = False
 
 
        For Each gvRow As GridViewRow In gvParent.Rows
            '// get the checkboxed items for the assets
            Dim gvChildAsset As GridView = (DirectCast(gvRow.FindControl("gvChildAssets"), GridView))
            '// for each of the rows in the child task gridview
            ' For Each dc System.web.DataControlField in gvchildasset.columns
            For Each dc As DataControlField In gvChildAsset.Columns
                If TypeOf dc Is TemplateField Then
                    Dim cbAll As CheckBox = (DirectCast(gvChildAsset.FindControl("cbAll"), CheckBox))
                    If isNull(cbAll) Then Continue For
                    If cbAll.Checked Then
                        blnChecked = True
                        Exit For
                    End If
                End If
            Next
 
            For Each gvChildAssetRow As GridViewRow In gvChildAsset.Rows
                Dim cb As CheckBox = (DirectCast(gvChildAssetRow.FindControl("cb"), CheckBox))
                If isNull(cb) Then Continue For
                If blnChecked Then
                    cb.Checked = True
                End If
            Next
        Next
    End Sub

Open in new window

0
Comment
Question by:ddl_ex5
  • 2
3 Comments
 
LVL 96

Expert Comment

by:Bob Learned
ID: 24794043
It looks like you are calling FindControl from the GridView, but you need to call it from the GridViewRow.

GridViewRow line:

     Dim gvChildAsset As GridView = (DirectCast(gvRow.FindControl("gvChildAssets"), GridView))
 
GridView line:

     Dim cbAll As CheckBox = (DirectCast(gvChildAsset.FindControl("cbAll"), CheckBox))

The second line needs to be more like the first line.
 
0
 

Author Comment

by:ddl_ex5
ID: 24803342
Putting
Dim cbAll As CheckBox = (DirectCast(gvChildAsset.FindControl("cbAll"), CheckBox)) into a for each loop for the childAsset row does not work.  This was my first attempt before i got the checkbox of cbAll to be located.

0
 
LVL 96

Accepted Solution

by:
Bob Learned earned 1500 total points
ID: 24803445
I guess that I didn't make myself clear enough.  You need to use FindControl with a row from gvChildAsset, not the GridView itself.

Example:
    Dim cbAll As CheckBox = TryCast(gvChildAsset.Rows(0).FindControl("cbAll"), CheckBox)
0

Featured Post

Free learning courses: Active Directory Deep Dive

Get a firm grasp on your IT environment when you learn Active Directory best practices with Veeam! Watch all, or choose any amount, of this three-part webinar series to improve your skills. From the basics to virtualization and backup, we got you covered.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

ASP.Net to Oracle Connectivity Recently I had to develop an ASP.NET application connecting to an Oracle database.As I am doing it first time ,I had to solve several problems. This article will help to such developers  to develop an ASP.NET client…
International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
Loops Section Overview
Despite its rising prevalence in the business world, "the cloud" is still misunderstood. Some companies still believe common misconceptions about lack of security in cloud solutions and many misuses of cloud storage options still occur every day. …
Suggested Courses

824 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question