【问题标题】:Duplicate column in DataTable when adding row添加行时DataTable中的重复列
【发布时间】:2011-08-14 13:53:42
【问题描述】:

我创建了一个 DataTable 并将它绑定到一个 DataGrid。我的数据源由一个表 (FooTable) 组成,该表由一列 (FooName) 组成。

以下代码运行良好 - 除了每次添加新行时,都会使用相同的数据填充重复的列,我不知道如何摆脱。请参见下面的图像和代码。我只有一个 FooName 列,并且出现了一个重复的列。

/* Create a DataGrid dg1 */
DataGrid dg1 = new DataGrid();
DataGridTextColumn col = new DataGridTextColumn();
col = new DataGridTextColumn();
colA.Binding = new Binding("FooName");
colA.Header = "FooName";
dg1.Columns.Add(colA);
dataGrid1.Children.Add(dg1);

/* Create a DataTable and bind it to DataGrid */
SqlCeDataAdapter da = new SqlCeDataAdapter();
string sqlStr = @"SELECT * FROM FooTable";
da.SelectCommand = new SqlCeCommand(sqlStr, conn);
da.Fill(ds, "FooTable");
dt = ds.Tables["FooTable"];
DataRow newRow = dt.NewRow();
newRow["FooName"] = "Donkey";
dt.Rows.Add(newRow);
dg1.ItemsSource = ds.Tables[0].DefaultView;

【问题讨论】:

    标签: c# wpf datatable


    【解决方案1】:

    尝试将 AutoGenerateColumns 设置为 false

     dg1.AutoGenerateColumns = false
    

    【讨论】:

    • 哈哈,比我早了34秒,不错:D
    • 又一个速写问题。
    【解决方案2】:

    试试

    dg1.AutoGenerateColumns = false;
    

    应该为您完成这项工作。现在数据网格会自动生成列并添加您要求的列

    【讨论】:

      猜你喜欢
      • 2019-11-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-02
      • 1970-01-01
      • 1970-01-01
      • 2014-09-11
      相关资源
      最近更新 更多