C# 使用Winforms和C在datagridviewCell的一行中显示多个MyObject.Name#

C# 使用Winforms和C在datagridviewCell的一行中显示多个MyObject.Name#,c#,winforms,C#,Winforms,基本上,我在一个datagridview中有一个人员列表,用户要将这些人员的姓名拖放到另一个datagridview单元格中,组成三人小组。我可以在第二个datagridview中捕获对象,但我似乎无法显示名称,它想要显示对象类型 我有一个名为MyObject的类。MyObject有许多属性,一个是“名称” 我有一个datagridview“TeamOfObjects”,允许用户从另一个datagridview“AllObject”中删除对象。对象将始终为MyObject类型 AllObject

基本上,我在一个datagridview中有一个人员列表,用户要将这些人员的姓名拖放到另一个datagridview单元格中,组成三人小组。我可以在第二个datagridview中捕获对象,但我似乎无法显示名称,它想要显示对象类型

我有一个名为MyObject的类。MyObject有许多属性,一个是“名称”

我有一个datagridview“TeamOfObjects”,允许用户从另一个datagridview“AllObject”中删除对象。对象将始终为MyObject类型

AllObject每行包含一个myObject,TeamoObject每单元格应包含1个myObject,每行包含3个单元格。很容易做到

问题是TeamOfObjects显示的是“MyObject”,而不是MyObject的“Name”属性。 我确实将DataProperty设置为“Name”。我知道我可以将其格式化为只使用名称而不是整个对象,但在某些时候,我需要读回为组建团队而选择的对象

我确信这很容易,我已经离开编程世界一段时间了,我确信我只是忘记了一些东西

****编辑****

Class MyObject
{
    string Name {get; set;}
    int age {get; set;}
    myObject(string _name, int _age)
    {
        Name=_name;
        Age=_age;
    }
}

在MyDataGridView中,若您左键单击某个单元格,该单元格值将成为my Object类的迭代

这表示我的datagrid视图

[Person 1 Name][Person 2 Name][Person 3 Name]
[             ][             ][             ]
当您单击三个空单元格中的每一个时

dgv_MouseClick(object sender, datagridviewmouseevents e)
{
    string _name="";
    if (e.col == 0)
        _name = "John";
    else if (e.col == 1)
        _name = "Frank";
    else if (e.col == 2)
        _name = "Suzanne";
    dgv.Rows[e.Row].Cells[e.col].value=new MyObject(_name, 35);
}
这就是我想发生的事

[Person 1 Name][Person 2 Name][Person 3 Name]
[     John    ][   Frank     ][    Suzanne  ]
这就是正在发生的事情

[Person 1 Name][Person 2 Name][Person 3 Name]
[  MyObject   ][   MyObject  ][   MyObject  ]

我已经找到了一个解决我目前遇到的特定问题的解决方案,但是它只针对一个属性,不能用于在不同的单元格或甚至不同的DataGridView中显示对象的多个属性。我仍然坚持希望有人有更好的解决方案

重写MyObject类中的ToString方法

public override string ToString() 
{
   return Name;
}

JohnG我没有发布myObject类,因为我不相信它是相关的,我可以发布一些通用的东西,但实际上一个属性“名称”才是最重要的,其余的都是多余的。JohnG在你的第二个评论中,我很感激你为获取更多信息所做的努力,但恐怕我不明白你想告诉我什么。我现在很忙,但我会尝试在上面的问题中添加一些代码,包括一个演示类,试图更好地解释我的案例。在我的问题中,我希望我已经解决了你的问题