如何将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