[Webinar] Streamline your web hosting managementRegister Today

x
?
Solved

GridView Column Remove Errorin asp.net 2.0 using C#

Posted on 2009-05-04
9
Medium Priority
?
668 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

0
Comment
Question by:kamikazis
  • 4
  • 4
9 Comments
 
LVL 20

Expert Comment

by:informaniac
ID: 24302080
Try set the visibility to false after binding the gridview and not before
0
 

Author Comment

by:kamikazis
ID: 24302123
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.

0
 

Author Comment

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

Same error
0
Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

 
LVL 20

Expert Comment

by:informaniac
ID: 24302172
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.
0
 

Author Comment

by:kamikazis
ID: 24302278
if i set the autogeneratecolumns = false

Nothing Displayed in the gridview.
0
 
LVL 6

Expert Comment

by:M3mph15
ID: 24302337
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
0
 
LVL 20

Accepted Solution

by:
informaniac earned 200 total points
ID: 24302578
The feature of gridview says that you when u have set Autogeneratecolumns=true GridView1.Columns.Count() will give u nothing....

When u r setting autogeneratecolumns = false

then u have to manually add columns to ur gridview..

http://authors.aspalliance.com/aspxtreme/webforms/controls/addingboundfieldstogridview.aspx
0
 

Author Closing Comment

by:kamikazis
ID: 31577903
Thanks

Regards
Kamikazis
0

Featured Post

Free Tool: Site Down Detector

Helpful to verify reports of your own downtime, or to double check a downed website you are trying to access.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Hello there! As a developer I have modified and refactored the unit tests which was written by fellow developers in the past. On the course, I have gone through various misconceptions and technical challenges when it comes to implementation. I would…
How can you see what you are working on when you want to see it while you to save a copy? Add a "Save As" icon to the Quick Access Toolbar, or QAT. That way, when you save a copy of a query, form, report, or other object you are modifying, you…
Planning to migrate your EDB file(s) to a new or an existing Outlook PST file? This video will guide you how to convert EDB file(s) to PST. Besides this, it also describes, how one can easily search any item(s) from multiple folders or mailboxes…
Suggested Courses

607 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