c#中list绑定datagridview为什么不显示数据

public class Users
{
public ObjectId _id;
public string Name { get; set; }
public string Career { set; get; }
public string Name1 { get; set; }
public string Identity { get; set; }
}
List<Users> a = new List<Users>();
dataGridView1.DataSource = a;
我想先查询一下如在textBox中输入一值查询,将查询后的数据存入a中,然后和在dataGridView显示出来,为什么只显示了Name,Career,Name1,Identity的列明却没有显示数据?

在学习DataGridView 和List<T>绑定时发现DataGridView不会显示数据。后来发现要用类的属性才能正常显示,如果直接用类的字段等来显示,则无法显示数据。
代码如下:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication20
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}

private void Form1_Load(object sender, EventArgs e)
{

dgv_message.GridColor = Color.Blue;
//设置datagridview颜色
dgv_message.DataSource = new List<student>()
//设置datagridview数据来源来自List <student>
{
new student(){sName="小李",Age=20},
new student(){sName="小张",Age=40},
new student(){sName="小王",Age=60},
new student(){sName="小黄",Age=22}
};
//对List <student>赋值
dgv_message.Columns[0].HeaderText = "姓名";
dgv_message.Columns[1].HeaderText = "年龄";
//设置datagridview列名
}
}
//定义class student并实现读写赋值
public class student
{
private string name;
private int age;

public string sName
{
get { return name; }
set { name = value; }
}

public int Age
{
get { return age; }
set { age =value ; }
}
}
}

如果把student中类变成以下代码,则无法显示:原因没有读写赋值
public class student
{
public string sName;
public int Age;
}
温馨提示:答案为网友推荐,仅供参考
第1个回答  2014-05-06
建议你再仔细看下datagridview的数据操作资料,百分之八九十可能是你代码没写对,确保代码写全,有问题可以自己加断点调试,培养好这个习惯可以给你带来很大的收获。本回答被提问者采纳
第2个回答  2014-05-06
看你代码你只是new了一个users集合 并没有往集合中添加数据啊
第3个回答  2014-05-06
字段要数据绑定到对应列
相似回答