C# “table”参数不能为null。参数名称:表

C# “table”参数不能为null。参数名称:表,c#,datagridview,C#,Datagridview,我试图在两个DataGridView之间建立父子关系,但出现以下错误: “table”参数不能为null。参数名称:table,到此行: 有人知道我该怎么解决吗?提前谢谢 代码如下: private DataTable Table_c; // Table_c is imported from a local database private DataTable Table_a; // Table_a is imported from a local database private DataSe

我试图在两个DataGridView之间建立父子关系,但出现以下错误:

“table”参数不能为null。参数名称:table,到此行:

有人知道我该怎么解决吗?提前谢谢

代码如下:

private DataTable Table_c; // Table_c is imported from a local database
private DataTable Table_a; // Table_a is imported from a local database
private DataSet tblDataSet;

private void Form1_Load(object sender, EventArgs e)
{
    this.table_aTableAdapter1.Fill(this.DBDataSet1.Table_a);

    this.table_cTableAdapter.Fill(this.DBDataSet1.Table_c);

    tblDataSet = new DataSet();
    tblDataSet.Tables.Add(Table_c);
    tblDataSet.Tables.Add(Table_a);


    tblDataSet.Relations.Add("Relation1",
        Table_c.Columns["Number"], Table_a.Columns["Number"]);

    BindingSource bsC = new BindingSource();
    bsC.DataSource = tblDataSet;
    bsC.DataMember = "Table_c";

    BindingSource bsA = new BindingSource();
    bsA.DataSource = bsC;
    bsA.DataMember = "Relation1";

    table_cDataGridView.DataSource = bsC;
    table_aDataGridView.DataSource = bsA; 
}
试试这个:

private DataTable Table_c;
private DataTable Table_a;
private DataSet tblDataSet;

private void Form1_Load(object sender, EventArgs e)
{
    Table_a = this.table_aTableAdapter1.GetData();
    Table_c = this.table_cTableAdapter.GetData();

    tblDataSet = new DataSet();
    tblDataSet.Tables.Add(Table_a);
    tblDataSet.Tables.Add(Table_c);    
    tblDataSet.Relations.Add("Relation1", Table_c.Columns["Number"], Table_a.Columns["Number"]);

    BindingSource bsC = new BindingSource();
    bsC.DataSource = tblDataSet;
    bsC.DataMember = "Table_c";

    BindingSource bsA = new BindingSource();
    bsA.DataSource = bsC;
    bsA.DataMember = "Relation1";

    table_cDataGridView.DataSource = bsC;
    table_aDataGridView.DataSource = bsA; 
}

不知道还有什么要说,除了表c是空的,因为它还没有初始化。你想改为添加这个.DBDataSet1.Table_c吗?Daren Young,是的,我做了。tblDataSet=新数据集;codersl,我已经尝试过了,但是如果我这样做,我会得到这个错误:DataTable已经属于另一个数据集。现在,我得到这个错误:“column”参数不能为null。参数名称:column,到此行tblDataSet.Relations.AddRelation1,Table_c.Columns[Number],Table_a.Columns[Number];六羟甲基三聚氰胺六甲醚。。。我假设您的表有一个数字列。您的TableAdapter是做什么的?我想我应该在服务器资源管理器中的表及其列之间建立连接,但我不知道如何才能做到这一点。TableAdapter向导应该为您生成所有必要的代码。。。您需要遵循在线教程,因为这超出了stackoverflow的范围。非常感谢您…现在它可以工作了。我将学习更多的教程来提高我的知识。
private DataTable Table_c;
private DataTable Table_a;
private DataSet tblDataSet;

private void Form1_Load(object sender, EventArgs e)
{
    Table_a = this.table_aTableAdapter1.GetData();
    Table_c = this.table_cTableAdapter.GetData();

    tblDataSet = new DataSet();
    tblDataSet.Tables.Add(Table_a);
    tblDataSet.Tables.Add(Table_c);    
    tblDataSet.Relations.Add("Relation1", Table_c.Columns["Number"], Table_a.Columns["Number"]);

    BindingSource bsC = new BindingSource();
    bsC.DataSource = tblDataSet;
    bsC.DataMember = "Table_c";

    BindingSource bsA = new BindingSource();
    bsA.DataSource = bsC;
    bsA.DataMember = "Relation1";

    table_cDataGridView.DataSource = bsC;
    table_aDataGridView.DataSource = bsA; 
}