C#DataGridView未显示数据(实体框架)

时间:2017-11-03 13:08:05

标签: c# datagridview

我正在尝试从SQL服务器到C#中的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 TestProject
{
    public partial class Form1 : Form
    {
        public IQueryable<boklet2> qry;
        public AnalysisUpgradeEntities Ana = new AnalysisUpgradeEntities();

        public class boklet2
        {
            public int _ID;
            public int? _ItemSpecs;
        }

        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            dataGridView1.AutoGenerateColumns = true;
        }

        private void button1_Click(object sender, EventArgs e)
        {
            qry = from an in Ana.analysis_pipes
                  select new boklet2
                  {
                      _ID = an.ID,
                      _ItemSpecs = an.itemSpecs
                  };

            dataGridView1.DataSource = qry.ToList();
            //dataGridView1.DataSource = qry;
        }

    }
}

我错过了一个库,我应该添加“使用”这个词我也尝试添加dataGridView1.AutoGenerateColumns = True,但仍然没有显示数据

1 个答案:

答案 0 :(得分:1)

改变这个:

public class boklet2
{
    public int _ID;
    public int? _ItemSpecs;
}

到这个

public class boklet2
{
    public int _ID { get; set; }
    public int? _ItemSpecs { get; set; }
}

让我知道

@AdamVincent提供的解释,谢谢!

  

字段是普通成员变量或类的成员实例。属性是获取和设置其值的抽象。属性也称为访问器,因为如果将类中的字段公开为私有,它们提供了更改和检索字段的方法。一个字段是public int _ID;,修复是使用auto属性语法public int _ID {get;来添加访问器。组; }