C# 从设计器中创建的数据集填充DataGridView

C# 从设计器中创建的数据集填充DataGridView,c#,winforms,C#,Winforms,我动态创建了一个数据集,其中包含一个表: 我想在数据库中用我的视图Demande中的值填充它。我在这里尝试了以下代码: string cnstr = "Data Source=(local);Initial Catalog=Gestion Commercial Officielle;Integrated Security=True"; SqlConnection cn = new SqlConnection(cnstr); cn.Open();

我动态创建了一个数据集,其中包含一个表:

我想在数据库中用我的视图Demande中的值填充它。我在这里尝试了以下代码:

 string cnstr = "Data Source=(local);Initial Catalog=Gestion Commercial Officielle;Integrated Security=True";
        SqlConnection cn = new SqlConnection(cnstr);
        cn.Open();

        SqlDataAdapter daAuthors = new SqlDataAdapter("select * from Demande", cn);
        DataSet1 d = new DataSet1(); 
        daAuthors.FillSchema(d, SchemaType.Source, "Demande");
        daAuthors.Fill(d, "Demande");
        grid.DataSource = d;
        grid.DataMember = "DataTable1";
它只返回一个空的DataGridView,如

有人能帮我找出我错过的地方吗?
提前谢谢你

我终于找到了解决方案,现在是:

1-在名为report.xsd的设计器中创建数据集

2-在数据集设计器中创建一个表名,例如:demande

3-创建一个类,在其中填充数据集代码如下:


希望它能在将来帮助其他人。

您自己在DataGridView上设置了列吗?如果没有,则它似乎正在工作,但您没有来自数据库的数据。DataGridView将基于绑定数据为您创建列,除非您在代码grid中指定。AutoGenerateColumns=false@但是请执行我,先生,我不明白为什么datagridview中没有数据?也许datagridview中的列名来自在我的数据集中创建的Datatable1。我认为我的Datatable1仍然是空的。好的,我们知道您的数据集中有一个空的数据表,因为datagridview中有与DataTable相关的列。现在我们需要弄清楚为什么“select*from Demande”不返回任何数据。第一个问题是,您的数据库实际上是否包含一些数据?如果您通过ManagementStudio(或VS)连接到数据库并运行查询,它会返回任何内容吗?如果它确实包含数据,并且您的查询返回记录,那么您可以运行SSMS探查器以查看数据是否正在传输,还可以检查数据集中的表以查看它是否有任何记录。我已经在本地使用自己的数据库运行了此操作。我不知道代码中的“DataSet1”是什么,所以我使用了一个普通的DataSet。我在使用“DataTable1”时出错,所以我使用了从中提取数据的表的名称,结果成功了。它提取数据填充数据并显示数据。如果您发现数据库中有数据,我建议您的问题在于DataSet1。
 class report
{


    public void reportDemande (int n)
    {
        DataClasses1DataContext db = new DataClasses1DataContext();
        reports.DemandeDataTable d = new reports.DemandeDataTable();
         foreach(var i in db.tbl_detail_demande.Where(c=>c.id_demande==n) )
        {
            DataRow r = d.NewRow();
            r[0] = i.code_article.ToString();
            r[1] = i.tbl_article.designiation;
            r[2] = i.quantite_demande;
            r[3] = i.tbl_demande_achat.observation;

            d.Rows.Add(r);

        }

    }
}