Попытка загрузить список в ячейку DataGridView - PullRequest
0 голосов
/ 07 августа 2010

Я пытаюсь отобразить объект в DataGridView, используя Reflection

, пока все работает плавно, но проблема в том, что некоторые свойства объекта являются списками.Как мне адаптировать мой DataGridView для отображения списка?

public void SetDataSource(PluginBase plugin)
{
    dgvProperties.Rows.Clear();
    List<DataGridViewRow> rows = new List<DataGridViewRow>();

    foreach (PropertyInfo info in typeof(PluginBase).GetProperties(BindingFlags.Public|BindingFlags.Instance))
    {
        object value = plugin.GetType().GetProperty(info.Name).GetValue(plugin, null);

        object[] o = new object[2];

        o[0] = info.Name;
        o[1] = value;

        DataGridViewRow dgvr = new DataGridViewRow();
        dgvr.CreateCells(dgvProperties, o);
        rows.Add(dgvr);
    }

    dgvProperties.Rows.AddRange(rows.ToArray());

}

1 Ответ

1 голос
/ 07 августа 2010

Я нашел довольно хороший учебник, который может вам помочь: http://www.switchonthecode.com/tutorials/csharp-tutorial-binding-a-datagridview-to-a-collection

Обновление

Я не думаю, что вы можете автоматически создать ячейку DataGridView для отображения списка, но вывозможно, вы сможете сделать это, как только ваше отражение обнаружит его список, тогда вы можете вручную сделать следующее: http://msdn.microsoft.com/en-us/library/aa480727.aspx

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