У меня проблемы с реализацией DataGridViewComboBoxCell внутри элемента управления DataGridView. То, что я хочу сделать, это отобразить в каждой строке различные наборы вариантов, поэтому каждый ComboBox имеет свой список для отображения. Я использую конструктор Visual Studio.
Я назначил myDataGridView.DataSource BindingSource (имя переменной - bindingSourceComponenetFileInfo), которому DataSource (bindingSourceComponentFileInfo.DataSource) я назначил свои данные с именем EclipseComponentFileInfo, который определяется следующим образом: 1003 *
namespace EclipseSuiteMakerWindowsForms
{
class EclipseComponentFileInfo
{
public EclipseComponentFileInfo()
{ }
private string path;
private string pathName;
private string[] fileName;
public string[] FileName { get => fileName; set => fileName = value; }
public string Path { get => path; set => path = value; }
}
}
Проблема, с которой я сталкиваюсь, это поле «имя файла» - поскольку это не простая строка, а массив строк, она не отображается в Visual Designer в разделе DataGridView / Columns / SelectedColumns (только столбец PathName доступен). Я использовал Visual Designer для создания для моего DataGridView «несвязанного столбца» (который я до сих пор не совсем понимаю, что это такое и как он работает - без документов) с указанием «Имя: Имя файла / Текст заголовка: FileNameHeader / Тип: DataGridViewBoxColumn» и затем, когда я запускаю свое приложение, мой столбец ComboBox в каждой строке представлялся пустой строкой - я как бы ожидал этого.
Итак, в следующий раз я назначил (используя Visual Designer) DataSource несвязанного столбца, созданного выше (DataGridViewBoxColumn.DataSource), переменную (типа BindingSource) с именем fileNameBindingSource. Затем я назначил fileNameBindingSource. DataSource, ранее упомянутый bindingSourceComponenetFileInfo (типа EclipseComponentFileInfo) с DataPropertyName с именем FileName.
Затем столбцы ComboBox всех строк заполняются именем, которое по какой-то причине появляется в первой строке.
Мой вопрос:
Могу ли я заполнить строки столбцов ComboBox с различным набором элементов или каждый ComboBox должен иметь одинаковый набор элементов (например, в первой строке есть ComboBox с массивом из одного элемента «Item1», но во второй строке есть ComboBox с массивом из двух элементов «Item1 / Item2») .