C# 如何将特定datatable列中的值添加到datagridview中

C# 如何将特定datatable列中的值添加到datagridview中,c#,datagridview,datatable,C#,Datagridview,Datatable,我有datatable,但此datatable克隆了另一个datatable的值(来自数据库的查询) 我尝试从datatable(dt)的特定列添加valec dt = dtt.Clone(); //--Somthing Generate--// dataGridView3.DataSource = dt; dataGridView3.Columns[0].DataPropertyName = "ID"; dataGridView3.Columns[1].DataPropertyName = "

我有datatable,但此datatable克隆了另一个datatable的值(来自数据库的查询)

我尝试从datatable(dt)的特定列添加valec

dt = dtt.Clone();
//--Somthing Generate--//
dataGridView3.DataSource = dt;
dataGridView3.Columns[0].DataPropertyName = "ID";
dataGridView3.Columns[1].DataPropertyName = "Name";
从我的代码来看,我无法理解它

  • 使用Copy()方法而不是Clone()。
  • 将gridview的AutoGenerateColumns属性设置为false。

  • 当AutoGenerateColumns属性设置为true时,每列都会自动将其DataPropertyName属性设置为DataSource属性指定的数据源中的属性或数据库列的名称。此绑定也可以手动执行,当您希望仅显示数据源中可用的属性或数据库列的子集时,此绑定非常有用。在这种情况下,请将AutoGenerateColumns属性设置为false,然后手动添加每个DataGridViewColumn,将每个DataPropertyName属性的值设置为要显示的数据源中的属性或数据库列。

    使用Copy()方法而不是克隆。我不能使用Copy(),因为我需要转换数据类型@复制和克隆两种方法创建一个与原始数据表具有相同结构的新数据表。克隆方法不能创建数据行,但复制方法可以同时创建结构和数据行。
    dt = dtt.Clone();
    //--Somthing Generate--//
    dataGridView3.DataSource = dt;
    dataGridView3.Columns[0].DataPropertyName = "ID";
    dataGridView3.Columns[1].DataPropertyName = "Name";
    
    dt = dtt.Copy();