C # |DataGridView устанавливает тип столбца программно - PullRequest
0 голосов
/ 27 сентября 2011

Я создаю программу, которая загружает xml в представление данных,

Но мне нужно добавить еще 2 столбца, один с кнопками, а другой с изображениями.

Как я могу добавить их здесь:?

     DataSet data = new DataSet(); string p = System.IO.Path.Combine(Application.StartupPath, "payday.xml");
                    data.ReadXml(p);
                    this.dataGrid.DataSource = data;
                    this.dataGrid.DataMember = "costumer";
                    int i = 0;
                    foreach (DataGridViewColumn column in this.dataGrid.Columns)
                    {
                        if (column.Name == "Name" || column.Name == "Status" || column.Name == "URL" || column.Name == "type" || column.Name == "Last-Checked-Pay")
                        {
                            column.Visible = true;
                            column.Width = (int)(dataGrid.Width * .2) + (column.Name.Length / 2);
                        }
                        else
                        {
                            //I tried to do it here:
                            //dataGrid.Columns[i+1].CellType = new DataGridViewButtonColumn();
                            //dataGrid.Columns[i+1].HeaderCell.
                        }
                        i++;
                    }

1 Ответ

0 голосов
/ 27 сентября 2011

Это поможет с добавлением в коллекцию столбцов (хотя вы можете сократить добавление, неявно добавляя в коллекцию, используя Add в DataGridView).Что касается добавления данных, вы, вероятно, захотите добавить, используя событие связывания строк, чтобы вы могли заполнить эти столбцы.

Другой вариант - добавить информацию, необходимую для набора данных, а затем связать новые добавленные столбцы (поля).

Первый вариант программно связан с DataGridView, а второй позволяет добавить декларативную настройку для DataGridView и массирует связанные данные.

Какой выбрать?Если бы DataGridView всегда имел эти поля, я бы сделал массаж данных.Если добавленные столбцы появляются только время от времени, я бы изменил DataGridView программно.

...