如何将List <string>绑定到DataGridView控件?

我有一个简单的List<string> ,我希望它显示在DataGridView列中。
如果列表包含更复杂的对象,则只需将该列表建立为其DataSource属性的值即可。

但是当这样做时:

myDataGridView.DataSource = myStringList;

我得到一个名为Length的列,并显示字符串的长度。

如何在列中显示列表中的实际字符串值?


那是因为DataGridView查找包含对象的属性。 对于字符串,只有一个属性 - 长度。 所以,你需要一个这样的字符串包装

public class StringValue
{
    public StringValue(string s)
    {
        _value = s;
    }
    public string Value { get { return _value; } set { _value = value; } }
    string _value;
}

然后将List<StringValue>对象绑定到您的网格。 有用


尝试这个:

IList<String> list_string= new List<String>();
DataGridView.DataSource = list_string.Select(x => new { Value = x }).ToList();
dgvSelectedNode.Show();

我希望这有帮助。


只要你绑定了任何实现了IEnumerable <string>的东西,以下都应该可以工作。 它将直接将列绑定到字符串本身,而不是绑定到该字符串对象的属性路径。

<sdk:DataGridTextColumn Binding="{Binding}" />
链接地址: http://www.djcxy.com/p/60895.html

上一篇: How to bind a List<string> to a DataGridView control?

下一篇: android project with sherlock actionbar git