我的datagridview数据源抛出一个nullpointer引用

时间:2014-12-18 18:08:22

标签: c# datagridview visual-studio-2013

我正在尝试根据A文本框中的文本对Datagridview进行排序,但是只要我输入一个字母就会抛出一个nullpointer。 datagridview由visual studio 2013生成。

这是我的代码:

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;

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

    private void debiteurBindingNavigatorSaveItem_Click(object sender, EventArgs e)
    {
        this.Validate();
        this.debiteurBindingSource.EndEdit();
        this.tableAdapterManager.UpdateAll(this.knkDataSet);

    }

    private void Form1_Load(object sender, EventArgs e)
    {
        // TODO: This line of code loads data into the 'knkDataSet.Debiteur' table. You can move, or remove it, as needed.
        this.debiteurTableAdapter.Fill(this.knkDataSet.Debiteur);

    }

    private void debiteurDataGridView_CellContentClick(object sender, DataGridViewCellEventArgs e)
    {
        try
        {
            debiteurDataGridView.Rows[e.RowIndex].ReadOnly = true;
        }
        catch (Exception)
        {
            Console.Out.WriteLine("er is een error opgetreden");
        }

    }

    private void tbZpk_TextChanged(object sender, EventArgs e)
    {
        (debiteurBindingSource.DataSource as DataTable).DefaultView.RowFilter = "Zpk like '%" + tbZpk.Text + "%'";
    }


}

}

1 个答案:

答案 0 :(得分:0)

我相信在调试时,DefaultView为空。?

在此示例中:http://msdn.microsoft.com/en-us/library/system.data.dataview.rowfilter%28v=vs.110%29.aspx

使用DataTable实例实例化新视图。 e.g:

 // Create a DataView
 DataView dv = new DataView(dt);

然后使用此视图,而不是DefaultView。 在没有看到设计师代码的情况下,这是我对解决方案的最佳猜测。