Странная проблема с сеткой данных и табулированием C #

У меня странная проблема. у меня естьTabControl с двумяTabPages, Каждая страница имеетdatagridview, Обеdatagridviews населеныXML файлы.

Я хочу иметьAutoSizeColumnsMode установлен в "Fill" для обоихDataGridViews, Я хочу установить ширину столбцов в моем коде.

И все прекрасно работает дляTabPage1 но установка ширины дляDataGridView наTabPage2 бросаетNullReferenceException.

Я действительно не понимаю, потому что я делаю то же самое, что и дляdatagridview1 и там работает нормально ноdatagridview2 бросает исключение. Кроме того, нет никаких исключений, если я выберу любойAutoSizeColumnsMode ценность ноFill.

Вот код:

        XmlReader xmlFile = XmlReader.Create("File1.xml", new XmlReaderSettings());
        DataSet ds = new DataSet();
        ds.ReadXml(xmlFile);



            dataGridView1.DataSource = ds.Tables[0];
            dataGridView1.Sort(dataGridView1.Columns[1], ListSortDirection.Ascending);

           dataGridView1.Columns[0].Width = 35;
            dataGridView1.Columns[1].Width = 248;
            dataGridView1.Columns[2].Width = 110;
            dataGridView1.Columns[3].Width = 140;
            dataGridView1.Columns[9].Width = 127;
            dataGridView1.Columns[0].Visible = false;
            dataGridView1.Columns[1].Visible = true;
            dataGridView1.Columns[2].Visible = true;
            dataGridView1.Columns[3].Visible = true;
            dataGridView1.Columns[4].Visible = false;
            dataGridView1.Columns[5].Visible = false;
            dataGridView1.Columns[6].Visible = false;
            dataGridView1.Columns[7].Visible = false;
            dataGridView1.Columns[8].Visible = false;
            dataGridView1.Columns[9].Visible = true;
            dataGridView1.Columns[10].Visible = true;
            dataGridView1.Columns[10].Width = 100;

            xmlFile.Close();

        XmlReader xmlFile2= XmlReader.Create("File2.xml", new XmlReaderSettings());
        DataSet ds2 = new DataSet();
        ds2.ReadXml(xmlFile2);
        dataGridView2.DataSource = ds2.Tables[0];


            dataGridView2.Columns[0].Width = 135; // The exception is thrown here
            dataGridView2.Columns[9].Width = 200;
            dataGridView2.Columns[8].Width = 300;
            dataGridView2.Columns[7].Width = 70;
            dataGridView2.Columns[6].Width = 70;
            dataGridView2.Columns[5].Width = 124;
            dataGridView2.Columns[4].Width = 81;
            dataGridView2.Columns[3].Width = 70;
            dataGridView2.Columns[2].Width = 70;
            dataGridView2.Columns[1].Width = 124;

            dataGridView2.Columns[0].Visible = true;
            dataGridView2.Columns[1].Visible = true;

            dataGridView2.Columns[2].Visible = true;
            dataGridView2.Columns[3].Visible = true;
            dataGridView2.Columns[4].Visible = true;

            dataGridView2.Columns[5].Visible = false;
            dataGridView2.Columns[6].Visible = false;
            dataGridView2.Columns[7].Visible = false;
            dataGridView2.Columns[9].Visible = false;


            xmlFile2.Close();

Ответы на вопрос(2)

Ваш ответ на вопрос