c# - 将 DataTable 分配给 DataGridView 时的 "NullReferenceException was unhandled"

标签 c# visual-studio-2010 datagridview

在包含 dgdMain.DataSource = dt; 的行上,我收到 “NullReferenceException was unhandled” 错误。我试图找到一个解决方案,我相信它很简单,但我显然错过了它。感谢您提供任何意见。

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

namespace Dashboard
{
    public partial class frmMain : Form
    {
        public frmMain()
        {
            BindingSource bindingSource = new BindingSource();
            DataTable dt = Program.GetDataTableFromCSV("../../res/sampledata.csv");
            dgdMain.DataSource = dt;

            InitializeComponent();

        }
    }
}

...这是 GetDataTableFromCSV() :

public static DataTable GetDataTableFromCSV(string path)
{
    DataTable dataTable = new DataTable();
    String[] values;

    values = File.ReadAllLines(path);

    string[] csvRows = System.IO.File.ReadAllLines(path);
    string[] headers = csvRows[0].Split(',');

    // Adding columns name
    foreach (var item in headers)
        dataTable.Columns.Add(new DataColumn(item));

    string[] fields = null;

    foreach (string csvRow in csvRows)
    {
        //Debug.Write(csvRow+"\r\n");
        fields = csvRow.Split(',');
        DataRow row = dataTable.NewRow();
        row.ItemArray = fields;
        dataTable.Rows.Add(row);
    }

    return dataTable;
}

最佳答案

InitializeComponent 必须在上面。应该是这样的:

    public frmMain()
    {
        InitializeComponent();

        BindingSource bindingSource = new BindingSource();
        DataTable dt = Program.GetDataTableFromCSV("../../res/sampledata.csv");
        dgdMain.DataSource = dt;
    }

关于c# - 将 DataTable 分配给 DataGridView 时的 "NullReferenceException was unhandled",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17331311/

相关文章:

c# - Visual Studio 显示无穷无尽的消息 "Code generation for property ' valueMember 失败。”

c# - 如何验证 C# 中的 Picture 子句?

c# - .NET 继承 (WinForms) 表单 - VS 设计器问题

vb.net - 如何设置datagridview的标题单元格边框的颜色

c# - 如何在 C# 中将 xml 文件中的值赋给 datagridviewtextbox?

c# - 非常频繁地更新datagridview

c# - 允许用户进行表单例份验证在 Azure 网站中不起作用

c# - CGPDFDocument 和 CGPDFPage 的 MonoTouch CoreGraphics PDF 内存问题

visual-studio - 获取当前插件用户的用户名

c# - 自动生成类的类修饰符