2011-06-10 95 views
0

我有一个简单的代码,在这里我将行添加到我的一个DataTable这是我的数据集:添加行在Datatable中未显示?

DigiLocalDataSet dataset = new DigiLocalDataSet(); 

DataRow newClientsRow = dataset.Tables["clients"].NewRow(); 

newClientsRow ["clientnr"] = "123"; 
newClientsRow ["name"] = "Pascal"; 
newClientsRow ["city"] = "London"; 

dataset.Tables["clients"].Rows.Add(newClientRow); 

clientsTableAdapter.Fill(dataset.clients); 

this.DataContext = dataset.clients.DefaultView; 

但我没有看到我的DataGrid中的插排,我只看到现有行的'客户'表。

怎么了?

回答

1

您对TableAdapter.Fill通话尽显你的“客户”数据表从数据源检索的数据,让你失去你手动添加到DataTable中的记录。

+0

只有在ClearBeforeFill设置为true的情况下才会出现这种情况。 – InBetween 2011-06-10 15:04:34

1

检查clientsAdapter.ClearBeforeFill设置为true。在添加新行之前,将其设置为false或在Clients表上呼叫Fill()

0

我不知道的命令,但你需要发布此行。

0

你补充之前接受更改数据集?填充从商店中提取数据。

+0

我想直接添加到商店的行,我该怎么做? – 2011-06-10 15:08:32

+0

我还没有使用DigiLocalDataSet,但会认为它的功能非常类似于具有增强功能的标准DataSet。考虑到这一点,在完成更改之后,您将调用dataset.AcceptChanges(),然后调用tableadapter.Fill()以使用新信息刷新数据集。 – Bueller 2011-06-10 15:56:32

1

你试过吗?

newClientsRow.BeginEdit(); 
newClientsRow ["clientnr"] = "123"; 
newClientsRow ["name"] = "Pascal"; 
newClientsRow ["city"] = "London"; 
newClientsRow.EndEdit();