克隆行后 DataGridView 不显示数据

Posted

技术标签:

【中文标题】克隆行后 DataGridView 不显示数据【英文标题】:DataGridView doesn't show data after clone rows 【发布时间】:2012-05-10 13:48:38 【问题描述】:

Windows 窗体应用程序。 C# 4.0。

基本上我有两个数据网格视图 dgv1 和 dgv2。一个正确显示表格。我想通过单击 dgv1 中的单元格来选择和克隆从 dgv1 到 dgv2 的一些行。

但第二个根本不显示数据。

   DataTable dt = new DataTable();
   dgv2.AutoGenerateColumns = true;
   private void btnAdd_Click(object sender, EventArgs e)
   
        DataRowView currentDataRowView = (DataRowView)dgv1.CurrentRow.DataBoundItem;
        DataRow row = currentDataRowView.Row;
        // add row
        dt.ImportRow(row);
        dgv2.DataSource = dt;
    

在调试模式下,我发现

        ?dt.Rows.Count
        1
        ?dt.Columns.Count
        0
        ?dgv2.AutoGenerateColumns
        true

感谢您的建议。

【问题讨论】:

【参考方案1】:

您必须创建列或从另一个表复制架构!

【讨论】:

【参考方案2】:

通过克隆dgv1的数据源来实例化dt,即:

datatable dt = otherdatatable.clone()

其中otherdatatable为dgv1的datatable数据源

【讨论】:

以上是关于克隆行后 DataGridView 不显示数据的主要内容,如果未能解决你的问题,请参考以下文章

在DataGridView中选择行后关闭窗体

C# - 删除行后如何刷新 DataGridView

Datagridview DateTime 格式不使用系统区域设置

C# winform中,怎样dataGridView1选中一行access数据,然后再textbox中显示

c# datagridview1 指定某列数据居中

DataGridView拖动到TreeView