代码之家  ›  专栏  ›  技术社区  ›  Eric

正在尝试将列表加载到DataGridView单元格中

  •  0
  • Eric  · 技术社区  · 15 年前

    我正在尝试使用反射将对象显示到DataGridView中

    到目前为止,一切工作都很顺利,但问题是对象的一些属性是列表。如何调整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 回复  |  直到 15 年前
        1
  •  1
  •   Kiril    15 年前

    我找到了一个很好的教程,可以帮助你: http://www.switchonthecode.com/tutorials/csharp-tutorial-binding-a-datagridview-to-a-collection

    更新

    DataGridView 单元格显示一个列表,但您可以在反射检测到其列表后手动执行以下操作: http://msdn.microsoft.com/en-us/library/aa480727.aspx