首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何将List<string>绑定到DataGridView控件?

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

Stack Overflow用户
提问于 2009-01-26 10:21:03
回答 8查看 154.1K关注 0票数 88

我有一个简单的List<string>,我希望它显示在DataGridView列中。

如果列表包含更复杂的对象,则只需将列表建立为其DataSource属性的值。

但在执行此操作时:

代码语言:javascript
复制
myDataGridView.DataSource = myStringList;

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

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

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-01-26 11:01:39

这是因为DataGridView查找包含对象的属性。对于string,只有一个属性- length。因此,对于这样的字符串,您需要一个包装器

代码语言:javascript
复制
public class StringValue
{
    public StringValue(string s)
    {
        _value = s;
    }
    public string Value { get { return _value; } set { _value = value; } }
    string _value;
}

然后将List<StringValue>对象绑定到您的网格。它起作用了

票数 71
EN

Stack Overflow用户

发布于 2010-07-12 12:34:30

试试这个:

代码语言:javascript
复制
IList<String> list_string= new List<String>();
DataGridView.DataSource = list_string.Select(x => new { Value = x }).ToList();
dgvSelectedNode.Show();

我希望这能帮到你。

票数 99
EN

Stack Overflow用户

发布于 2010-11-16 07:47:25

只要您绑定到实现IEnumerable的任何东西,下面的代码就应该有效。它会将列直接绑定到字符串本身,而不是绑定到该字符串对象的属性路径。

代码语言:javascript
复制
<sdk:DataGridTextColumn Binding="{Binding}" />
票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/479329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档