Привязка столбца DataGridView к строке

#c# #winforms #datagridview

#c# #winforms #datagridview

Вопрос:

У меня есть это определение в WinForm:

 private BindingList<String> rollbackLog = new BindingList<String>();
  

У меня есть DataGridView с одним столбцом, и я хочу привязать этот столбец к этому списку. Проблема, с которой я сталкиваюсь, заключается в том, что я не знаю, что назначить свойству DataPropertyName столбца. т.е. я не думаю, что есть свойство «string», которое вернет значение?

Должен ли я определять свой собственный класс со свойством string, а затем читать из него?

Использование ListBox было бы предпочтительным вариантом, учитывая, что у меня есть только одно свойство, но в конечном итоге это больше неинтересно.

Комментарии:

1. Поскольку у вас есть только один столбец, вы не можете использовать ListView?

2. Да, вы тоже правы. Я думаю, что начал использовать Datagrid, потому что изначально у меня было несколько столбцов, но затем вернул его обратно в один столбец, но не стал менять свой элемент управления…

Ответ №1:

Вы могли бы использовать простой класс-оболочку

 class Foo
{
    public string SomeProperty {get; set;}
}
  

и использовать

 private BindingList<Foo> rollbackLog = new BindingList<Foo>();
  

и установите DataPropertyName значение "SomeProperty" .

Комментарии:

1. Да. Спасибо. Я пытался наследовать от строки, которая, очевидно, не работает. Потом я совсем запутался. Я приму, как только мне разрешат!

2. Я боялся этого ответа. <whine> Почему они должны были сделать строку запечатанной, чтобы мы не могли наследовать оболочку? </whine>