datagridview在Windows窗体中显示空行

时间:2016-09-02 00:20:40

标签: c# winforms datagridview datatable

在我的数据库中有一个名为student的表。这个表有6行,但我的windows窗体的datagridview显示6个空行。我尝试了几种方法,包括studentdataGridView.AllowUserToAddRows = true/false;,但没有任何方法可行。它显示空行。

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

namespace varsityProject
{
    public partial class report : Form
    {
        public report()
        {
            InitializeComponent();
        }

        private void report_Load(object sender, EventArgs e)
        {
            string connectionString = @"Server=.\SQLEXPRESS; Database = varsityproject; integrated Security = true";
            SqlConnection connection = new SqlConnection(connectionString);
            string query = "SELECT * FROM student";
            SqlCommand command = new SqlCommand(query, connection);
            connection.Open();

            SqlDataReader reader = command.ExecuteReader();

            List<students> stu = new List<students>();
            students student2 = new students();

            while (reader.Read())
            {
                student2.id = (int)reader["id"];
                student2.firstname = reader["firstname"].ToString();
                student2.lastname = reader["lastname"].ToString();
                student2.program = reader["program"].ToString();
                student2.birthdate = reader["birthdate"].ToString();
                student2.fathersname = reader["fathersname"].ToString();
                student2.mothersname = reader["mothersname"].ToString();
                student2.presentaddress = reader["presentaddress"].ToString();
                student2.permanentaddress = reader["permanentaddress"].ToString();
                stu.Add(student2);
            }
            reader.Close();
            connection.Close();
            studentdataGridView.DataSource = stu;
        }
    }
}

1 个答案:

答案 0 :(得分:0)

您发布的上述代码工作正常没有任何问题。

您的学生资产(POCO)课程应为:

public class students
{
    public int id { get; set; }
    public string firstname { get; set; }
    public string lastname { get; set; }
    public string program { get; set; }
    public string birthdate { get; set; }
    public string fathersname { get; set; }
    public string mothersname { get; set; }
    public string presentaddress { get; set; }
    public string permanentaddress { get; set; }
}

并且您的表架构应该是:

enter image description here