?
Solved

GridView Column Remove Errorin asp.net 2.0 using C#

Posted on 2009-05-04
9
Medium Priority
?
656 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
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

Want to be a Web Developer? Get Certified Today!

Enroll in the Certified Web Development Professional course package to learn HTML, Javascript, and PHP. Build a solid foundation to work toward your dream job!

Question has a verified solution.

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

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
This article aims to explain the working of CircularLogArchiver. This tool was designed to solve the buildup of log file in cases where systems do not support circular logging or where circular logging is not enabled
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…
Do you want to know how to make a graph with Microsoft Access? First, create a query with the data for the chart. Then make a blank form and add a chart control. This video also shows how to change what data is displayed on the graph as well as form…
Suggested Courses

777 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