Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Datagridview未显示任何内容—无列标题或数据_C#_Winforms_Visual Studio 2010_Datagridview - Fatal编程技术网

C# Datagridview未显示任何内容—无列标题或数据

C# Datagridview未显示任何内容—无列标题或数据,c#,winforms,visual-studio-2010,datagridview,C#,Winforms,Visual Studio 2010,Datagridview,我已经看到了许多问题并应用了它们的结果,但什么都没有发生。我仍然没有在gridview中看到任何列标题/数据 代码很简单,我确实在Dataset中获取数据,并在调试中看到它,我只是使用 datagridviewjobs.Datasource=tempJobsDataset; 但是什么也没发生,它是空的 不能将网格的数据源设置为整个数据集,一个数据集可能有几十个与之关联的表,因此它不知道要绑定到哪个表。试试这个 datagridviewjobs.Datasource=tempJobsDatase

我已经看到了许多问题并应用了它们的结果,但什么都没有发生。我仍然没有在gridview中看到任何列标题/数据

代码很简单,我确实在Dataset中获取数据,并在调试中看到它,我只是使用

datagridviewjobs.Datasource=tempJobsDataset;

但是什么也没发生,它是空的

不能将网格的数据源设置为整个数据集,一个数据集可能有几十个与之关联的表,因此它不知道要绑定到哪个表。试试这个

datagridviewjobs.Datasource=tempJobsDataset.Tables("MyTable");

如果在指定后填充它,则必须接受表上的更改,以便更新gridview

这是一个完整的初始化,带有包装类

    private void init(DataGridView datagridview, IHave_A_DataTable x)
    {
        datagridview.DataSource = x.GetDataTable();

        datagridview.Columns[datagridview.ColumnCount - 1].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

        datagridview.CurrentCell = datagridview[0, datagridview.RowCount - 1];

        x.Changed += new EventHandler((o, e) =>
        {
            IHave_A_DataTable sender = o as IHave_A_DataTable;
            sender.GetDataTable().AcceptChanges();
        });
    }

此外,数据集存储的数据多于onwe表,但gridview只能接受数据表。

是否缺少datagridviewjobs.databind();设置DataSource并确保AutoGenerateColumns设置为true后。我可能错了,但我认为您不能将DataSource直接设置为dataset,请尝试将其设置为您感兴趣的数据表,即tempJobsDataset.Tables[“MyTable”]