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

解决方案 »

  1.   

    用这样可以
     DataTable dt = new DataTable();
                dt.Columns.Add("name");
                dt.Rows.Add("aaa");
                dt.Rows.Add("aa");
               dt.Rows.Add("a");
                dt.Rows.Add("abc");
               dt.Rows.Add("ab");
                dt.Rows.Add("bc");
                dataGridView1.DataSource = dt;
      

  2.   

    ....我知道datatable可以,但我想知道绑定list是应该怎么弄??
      

  3.   

    把dataGridView1的每一列邦定的值设一下
      

  4.   

    Columns,想看效果的话手工添加以下吧
      

  5.   

    你是不是要显示这样的效果啊
    Item 
    aaa 
    aa 

    abc 
    ab 
    bc 
      

  6.   

    代码 
     List<string> lst = new List<string>();
            lst.Add("aaa");
            lst.Add("aa");
            lst.Add("a");
            lst.Add("abc");
            lst.Add("ab");
            lst.Add("bc");
            GridView1.DataSource = lst;
            GridView1.DataBind();控件
     <asp:GridView ID="GridView1" runat="server">
        </asp:GridView>我测试没问题
      

  7.   

    GridView1.DataSource = list;
    GridView1.DataBind();
      

  8.   

    good good study,day day up
      

  9.   


    ...我是说winform中的datagridview控件
      

  10.   

    注意,LZ要的是WinForm下的DataGridView,而不是WebForm中的GridViewDataGridView默认会绑定具体对象的属性,LZ可以试试这样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会把String类的Length属性当作一列.String中只公开了两个属性Chars[] 和Length.你的那种方法得不到你想要的结果(高人也许可以).变通办法:using System;
    using System.Collections.Generic;
    using System.Windows.Forms;namespace WindowsFormsApplication1
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }        private void button1_Click(object sender, EventArgs e)
            {
                List<Something> lst1 = new List<Something>();            Something st = new Something("asdfas");
                lst1.Add(st);            Something st1 = new Something("发送的发送到");
                lst1.Add(st1);            dataGridView1.DataSource = lst1;
            }
        }    public class Something
        {
            public string m_str;        public string Str
            {
                get { return m_str; }
                set { m_str = value; }
            }        public Something(string str)
            {
                m_str = str;
            }
        }
    }这样DataGridView会有一列,列名称Str
      

  11.   

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

  12.   

    这样,你实体类(如Something类)的各个属性都能够绑定到DataGridView中,与普通的DataTable没什么区别.
      

  13.   


    using System.Linq;
    不懂Linq
      

  14.   

    怎么会出现这个错误呢?
    错误 2 无法为源类型“System.Collections.Generic.List<string>”找到查询模式的实现。找不到“Select”。是否缺少对“System.Core.dll”的引用或未使用“System.Linq”的指令?
      

  15.   

    没添加引用类型,另外如果是vs2005貌似没有linq
      

  16.   

    我引system.core和system.data.linq了,但是不知道为什么还是不可以。一样的错误
      

  17.   

    知道原因了,是因为前面没有using System.Linq;