日期:2014-05-17  浏览次数:20731 次

菜鸟请教一个比较白痴的问题,关于datagridview绑定list~~~在线等
C# code

List<string> lst = new List<string>();
            lst.Add("aaa");
            lst.Add("aa");
            lst.Add("a");
            lst.Add("abc");
            lst.Add("ab");
            lst.Add("bc");
dataGridView1.DataSource = lst;


代码如上,定义一个list然后用datagridview绑定
问题:绑定之后datagridview中数据显示是字符串的长度...如下
3
2
1
3
2
2
请问如何使其显示字符
aaa
aa
a
abc
ab
bc

------解决方案--------------------
注意,LZ要的是WinForm下的DataGridView,而不是WebForm中的GridView

DataGridView默认会绑定具体对象的属性,LZ可以试试这样

C# code
List<string> lst = new List<string>();
            lst.Add("aaa");
            lst.Add("aa");
            lst.Add("a");
            lst.Add("abc");
            lst.Add("ab");
            lst.Add("bc");
dataGridView1.DataSource = lst;

------解决方案--------------------
DataGridView默认情况下会显示所绑定对象的属性,对于一个字符串来说,只有一个实例属性Length,因此显示的即为字符串的长度了。
要想使DataGridView显示字符串集合,可以使用匿名类型将字符串进行包装:
var test = new List<string> { "", "", "" };
dataGridView1.DataSource = (from s in test select new { s }).ToList();