anasbiswas
anasbiswas

Reputation: 25

datagridview is showing empty rows in windows form

in my database there is a table called student. this table has 6 rows but datagridview of my windows form is showing 6 empty rows. I have tried several ways including studentdataGridView.AllowUserToAddRows = true/false; but nothing is working. it shows empty rows.

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;
        }
    }
}

Upvotes: 2

Views: 1488

Answers (1)

Balagurunathan Marimuthu
Balagurunathan Marimuthu

Reputation: 2978

The above code you have posted working fine without any issues.

Your student properties (POCO) class should be:

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; }
}

and your table schema should be:

enter image description here

Upvotes: 2

Related Questions