Solved

Gridview GridViewRow is empty

Posted on 2007-11-26
4
843 Views
Last Modified: 2013-11-07
Hi Experts

I have a Gridview with a template Col with a check box, what I want to to (and Am doing sucsesssfully with a test page and I GV) is detect which rows have a tick on post back.

My page has 3 GV's each with a unique ID, when I tick any of the boxes and hit a go btn the GridViewRow is empty. I have a  test page with 1 GV and it works OK, so the problem appears to be around the multi GV's I can post my code if required, but it does work.

Has anyone seen this behaviour before and found a solution, or is it me?

Andy
0
Comment
Question by:Andy Green
  • 2
  • 2
4 Comments
 
LVL 39

Accepted Solution

by:
Pratima Pharande earned 250 total points
ID: 20348940
on go btn Click bind the data to all the grid views again
0
 
LVL 3

Author Comment

by:Andy Green
ID: 20348963
I think I tried that, and it cleared the selection, but just to make sure I'll try again.

Andy
0
 
LVL 39

Expert Comment

by:Pratima Pharande
ID: 20348968
If Possible post your code , so that its easy to understand the problem
0
 
LVL 3

Author Comment

by:Andy Green
ID: 20349032
Hi

Re bound the data and whilst GridViewRows now have data, the selected rows have been cleared.

What I dont understand is the code works fine with 1 GV but not multiple.

The code pages are quite large, but this is my template section and code behind for  the working one, which is identical to the faulty one. I think I'm loosing data on postback some where but cant find it. If all else fails I can capture the clicks on the client and persist those.

                        <asp:TemplateField>
                            <ItemTemplate>
                                <asp:CheckBox ID="selectQuestion"  runat="server" />
                            </ItemTemplate>
                        </asp:TemplateField>

    Protected Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
 
        For Each row As GridViewRow In gvAvailableQuestions.Rows

            Dim cb As CheckBox = row.FindControl("selectQuestion")
            If cb IsNot Nothing AndAlso cb.Checked Then
             
                Dim QuestionID As Integer = _
                    Convert.ToInt32(gvAvailableQuestions.DataKeys(row.RowIndex).Value)

                lbldebug.Text &= String.Format("You Selected  {0}<br />", QuestionID)

            End If
        Next

    End Sub

0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

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

This document covers how to connect to SQL Server and browse its contents.  It is meant for those new to Visual Studio and/or working with Microsoft SQL Server.  It is not a guide to building SQL Server database connections in your code.  This is mo…
It was really hard time for me to get the understanding of Delegates in C#. I went through many websites and articles but I found them very clumsy. After going through those sites, I noted down the points in a easy way so here I am sharing that unde…
This Micro Tutorial will give you a basic overview how to record your screen with Microsoft Expression Encoder. This program is still free and open for the public to download. This will be demonstrated using Microsoft Expression Encoder 4.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

816 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

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now