Home > DeveloperSection > Forums > something wrong with gridview
Ankit Singh

Total Post:341

Points:2389
Posted on    December-18-2014 10:03 PM

 ASP.Net C#  Gridview 
Ratings:


 2 Reply(s)
 901  View(s)
Rate this:

I have a gridview and I have a DB. In my task I bind GridView to DB and want to change the width of every column.

 

dataAdapter = new SqlDataAdapter("SELECT *  FROM Turs", sqlcn);

dt = new DataTable("Turs");

dataAdapter.Fill(dt);

GridView1.DataSource = dt;

GridView1.DataBind();

 

If I add code into GridView1_RowDataBound, I get an error that: "Specified argument was out of the range of valid values. Parameter name: index". The trace of debugger shows me that GridView1 has only 1 column. Why? In DB I have 8 columns.

 

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

    {

        e.Row.Cells[0].Width = 100;

        e.Row.Cells[1].Width = 150;

    }

Regards



Tanuj Kumar

Total Post:134

Points:940
Posted on    December-19-2014 1:39 AM

You need to check RowType in the GridView1_RowDataBound event.

Try this

 

protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)

{

        if (e.Row.RowType == DataControlRowType.DataRow)

        {

            e.Row.Cells[0].Width = 100;

            e.Row.Cells[1].Width = 150;

        }

}


Ankita Pandey
Ankita Pandey

Total Post:183

Points:1285
Posted on    December-19-2014 6:38 AM

You should be doing it like this way instead by creating a DataSet

 

DataSet ds = new DataSet();

dataAdapter.Fill(ds);

GridView1.DataSource = ds;

GridView1.DataBind();


Don't want to miss updates? Please click the below button!

Follow MindStick