columns.Clear не работает - PullRequest
       6

columns.Clear не работает

0 голосов
/ 09 февраля 2011

Это мой код для моего UserDynamicSetsControl:

public ReportData ReportData
        {
            get { return reportData; }
            set
            {                               
                reportData = value;

                this.bsDynasets.DataSource = reportData;             

            }
        }

 public TypeOfBuilding TypeOfBuilding
        {
            get { return _typeOfBuilding; }
            set
            {
                _typeOfBuilding= value;

                dataGridView1.Columns.Clear();



                if (this.TypeOfBuilding== TypeOfBuilding.House)
                {
                    CreateColumnsForHouses();

                }
                else if (this.TypeOfBuilding== TypeOfBuilding.Flat)
                {
                    CreateColumnsForFlats();

                }

                if (this.bsDynasets.DataSource != null)
                    this.bsDynasets.Filter = "TypeOfBuilding= " + (int)_typeOfBuilding;


            }
        }




public voidCreateColumnsForFlats()
{
 this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.ColumnsA,ColumnB};
}

public voidCreateColumnsForFlats()
{
 this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.ColumnsC,ColumnD};
}

Сначала устанавливаются ReportData, а затем TypeOfBuilding. Похоже, что после изменения TypeOfBuilding все столбцы очистятся и будет добавлен новый. Вместо этого он сохраняет старые столбцы и добавляет новые.

После исполнения:

 this.dataGridView1.Columns.AddRange(new System.Windows.Forms.DataGridViewColumn[] { this.ColumnsC,ColumnD};

есть две колонки.

Перед звонком

  dataGridView1.Columns.Clear();

показывает правильное количество столбцов (то есть 4,6,8 и т. Д.). Где я ошибся?

1 Ответ

2 голосов
/ 09 февраля 2011

Установить .AutoGenerateColumns на false на dataGridView1.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...