SOMETHING WRONG WITH GRIDVIEW

Ankit Singh

Total Post:341

Points:2389
Posted by  Ankit Singh
C#  Gridview 
 1222  View(s)
Ratings:
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

  1. Tanuj Kumar

    Post:134

    Points:940
    Re: something wrong with gridview

    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;

            }

    }

  1. Ankita Pandey

    Post:183

    Points:1285
    Re: something wrong with gridview

    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();

Answer

NEWSLETTER

Enter your email address here always to be updated. We promise not to spam!