DataGridView избегая добавления новых столбцов - PullRequest
0 голосов
/ 15 марта 2010

Почему, этот код создает 2 одинаковых столбца в сетке (Цвет и Цвет). Как ввести цвет данных из коллекции в столбец, который существовал до заданного источника данных ??

public Form1()
        {
            InitializeComponent();
            DataGridViewTextBoxColumn ds = new DataGridViewTextBoxColumn();
            ds.Name = "Color";
            dataGridView1.Columns.Add(ds);

            List<Car>  cars=new List<Car>();
            for (int i = 0; i < 5; i++)
            {
                Car car=new Car {Type = "type" + i.ToString(),Color=Color.Silver};
                cars.Add(car);

            }
            dataGridView1.DataSource = cars;


        }

Ответы [ 2 ]

1 голос
/ 15 марта 2010

Вы должны установить AutoGenerateColumns=false перед настройкой источника данных.

Взять 2:

установите AutoGenerateColumns=true и найдите столбец после:

 var ds = dataGridView1.Columns["Color"] as DataGridViewTextBoxColumn;

То есть, если вы хотите - ваш код на самом деле не использует столбец, так что вы можете также удалить весь код для его создания.

0 голосов
/ 15 марта 2010

Вы статически добавляете столбец «Цвет».Затем вы устанавливаете список в качестве источника данных сетки.У вас есть свойство «Цвет», определенное в классе Car.Это свойство также отображается и отображается в виде столбца.

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