我有一个简单的List<string>
,我希望它显示在DataGridView
列中。
如果列表包含更复杂的对象,则只需将列表建立为其DataSource
属性的值。
但在执行此操作时:
myDataGridView.DataSource = myStringList;
我得到一个名为Length
的列,并显示字符串的长度。
如何在列中显示列表中的实际字符串值?
发布于 2009-01-26 11:01:39
这是因为DataGridView查找包含对象的属性。对于string,只有一个属性- length。因此,对于这样的字符串,您需要一个包装器
public class StringValue
{
public StringValue(string s)
{
_value = s;
}
public string Value { get { return _value; } set { _value = value; } }
string _value;
}
然后将List<StringValue>
对象绑定到您的网格。它起作用了
发布于 2010-07-12 12:34:30
试试这个:
IList<String> list_string= new List<String>();
DataGridView.DataSource = list_string.Select(x => new { Value = x }).ToList();
dgvSelectedNode.Show();
我希望这能帮到你。
发布于 2010-11-16 07:47:25
只要您绑定到实现IEnumerable的任何东西,下面的代码就应该有效。它会将列直接绑定到字符串本身,而不是绑定到该字符串对象的属性路径。
<sdk:DataGridTextColumn Binding="{Binding}" />
https://stackoverflow.com/questions/479329
复制相似问题