SOMETHING WRONG WITH GRIDVIEW

Ankit Singh

Total Post:341

Points:2389
Posted by  Ankit Singh
C#  Gridview 
 1361  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;
            }
    }

      Modified On Apr-07-2018 05:10:37 AM
  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();

      Modified On Apr-07-2018 05:10:13 AM

Answer

NEWSLETTER

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