We help IT Professionals succeed at work.

GridView Column Remove Errorin asp.net 2.0 using C#

kamikazis
kamikazis asked
on
690 Views
Last Modified: 2012-05-06
Hi All

I tried to bind some values to the gridview from the database and it uses a primary key to join another table.

What i need is i donn wann to display the primary key in the gridview.

I have tried various properties for the gridviews like

GridView1.Columns.RemoveAt(0);

GridView1.Columns[0].Visible = false ;

Finally i got the

System.ArgumentOutOfRangeException: Index was out of range. Must be non-negative and less than the size of the collection.
protected void btnSearchMain_Click(object sender, EventArgs e)
    {
        
        if (rbtnCollege.Checked == true)
        {
            SqlDataAdapter da = new SqlDataAdapter("select EDU_College.CId as 'College Number',EDU_College.CName as 'College Name',EDU_College.CAddressLine1 As 'College Address',EDU_City.City from EDU_College join EDU_City on EDU_City.CityId=EDU_College.CF_CityId where EDU_College.CName like '%" + txtSearchMain.Text + "%'", Conn);            
            DataTable dt = new DataTable();
            da.Fill(dt);
            GridView1.DataSource = dt;
           //GridView1.Columns.RemoveAt(1);
            //GridView1.Columns.RemoveAt(GetIndex(GridView1, "CId"));
            GridView1.Columns[1].Visible = false;
            GridView1.DataBind();
            GridView1.Columns[1].Visible = false;
        }
        else
        {
            SqlDataAdapter da = new SqlDataAdapter("select EDU_College.CId as 'College Number',EDU_College.CName as 'College Name',EDU_College.CAddressLine1 As 'College Address',EDU_City.City as City from EDU_College join EDU_City on EDU_City.CityId=EDU_College.CF_CityId where EDU_City.City like '%" + txtSearchMain.Text + "%'", Conn);            
            DataTable dt = new DataTable();            
            da.Fill(dt);                        
            GridView1.DataSource = dt;
            //GridView1.Columns.RemoveAt(1);
            GridView1.DataBind();
 
        }
    }

Open in new window

Comment
Watch Question

Obadiah ChristopherDeveloper User Interface
CERTIFIED EXPERT

Commented:
Try set the visibility to false after binding the gridview and not before

Author

Commented:
have tried that too and not mentioned above.

i got the same error :  Index was out of range. Must be non-negative and less than the size of the collection.

Author

Commented:
forgot to comment the code
            // GridView1.Columns[1].Visible = false;
            GridView1.DataBind();
            GridView1.Columns[1].Visible = false;

Same error
Obadiah ChristopherDeveloper User Interface
CERTIFIED EXPERT

Commented:
You'll get the error if u have set the gridview autogeneratecolumns = true

Try setting the Datakey property of the gridview to the primary key column of datatable.

Author

Commented:
if i set the autogeneratecolumns = false

Nothing Displayed in the gridview.

Commented:
Hi,

Do a test before you remove the Column. E.g if GridView1.Columns.Count() > 0 then remove it. Atleast that will narrow down the causes of the problem if it does return a count of 0.

HTH
-M3mph15
Developer User Interface
CERTIFIED EXPERT
Commented:
This one is on us!
(Get your first solution completely free - no credit card required)
UNLOCK SOLUTION
Obadiah ChristopherDeveloper User Interface
CERTIFIED EXPERT

Commented:

Author

Commented:
Thanks

Regards
Kamikazis

Gain unlimited access to on-demand training courses with an Experts Exchange subscription.

Get Access
Why Experts Exchange?

Experts Exchange always has the answer, or at the least points me in the correct direction! It is like having another employee that is extremely experienced.

Jim Murphy
Programmer at Smart IT Solutions

When asked, what has been your best career decision?

Deciding to stick with EE.

Mohamed Asif
Technical Department Head

Being involved with EE helped me to grow personally and professionally.

Carl Webster
CTP, Sr Infrastructure Consultant
Empower Your Career
Did You Know?

We've partnered with two important charities to provide clean water and computer science education to those who need it most. READ MORE

Ask ANY Question

Connect with Certified Experts to gain insight and support on specific technology challenges including:

  • Troubleshooting
  • Research
  • Professional Opinions
Unlock the solution to this question.
Join our community and discover your potential

Experts Exchange is the only place where you can interact directly with leading experts in the technology field. Become a member today and access the collective knowledge of thousands of technology experts.

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.