Postupy: Kontrola změněných řádků
Při změně záznamů v datové sadě jsou uloženy informace o těchto změnách, dokud je nepotvrdíte. Změny jsou potvrzeny při volání metody AcceptChanges datové sady, tabulky dat nebo volání metody Update TableAdapter nebo datového adaptéru.
Změny jsou sledovány v každém řádku dat dvěma způsoby:
Každý řádek dat obsahuje informace o jeho RowState (například Added, Modified, Deleted, Unchanged).
Každý řádek změněných dat obsahuje více verzí tohoto řádku (DataRowVersion); originál (před změnami) a aktuální verze (po změnách), ke kterým můžete získat přístup. V době, kdy změna čeká na schválení (doba, kdy můžete reagovat na událost RowChanging), je k dispozici také třetí verze – navrhovaná verze. Další informace naleznete v tématu Postupy: Získání konkrétních verzí DataRow.
Zjištění, zda jsou změněny řádky
Metoda HasChanges datové sady vrací true, pokud byly v datové sadě provedeny změny. Po zjištění, že existují změněné řádky, můžete zavolat metodu GetChanges DataSet nebo DataTable a vrátit sadu změněných řádků. Další informace naleznete v tématu Postupy: Načítání změněných řádků.
Zjištění, zda byly provedeny nějaké změny nějakých řádků
Volat metodu HasChanges datové sady pro kontrolu změněných řádků.
Následující příklad ukazuje, jak zkontrolovat návratovou hodnotu z metody HasChanges ke zjištění, zda jsou v datové sadě s názvem NorthwindDataset1 nějaké změněné řádky.
If NorthwindDataSet1.HasChanges() Then ' Changed rows were detected, add appropriate code. Else ' No changed rows were detected, add appropriate code. End If
if (northwindDataSet1.HasChanges()) { // Changed rows were detected, add appropriate code. } else { // No changed rows were detected, add appropriate code. }
Určuje typ změn
Chcete-li zjistit, jaké změny byly provedeny v datové sadě, předejte hodnotu z výčtu DataRowState metodě HasChanges.
Zjištění, jaký typ změn byl proveden na řádku
Předejte hodnotu DataRowState metodě HasChanges.
Následující příklad ukazuje, jak zkontrolovat datovou sadu s názvem NorthwindDataset1 k určení, zda do ní byly přidány nějaké nové řádky:
If NorthwindDataSet1.HasChanges(DataRowState.Added) Then ' New rows have been added to the dataset, add appropriate code. Else ' No new rows have been added to the dataset, add appropriate code. End If
if (northwindDataSet1.HasChanges(DataRowState.Added)) { // New rows have been added to the dataset, add appropriate code. } else { // No new rows have been added to the dataset, add appropriate code. }
Viz také
Koncepty
Upravování dat ve vaší aplikaci
Vázání ovládacích prvků Windows Forms k datům v sadě Visual Studio
Příprava vaší aplikace k příjmu dat
Vázání ovládacích prvků k datům v sadě Visual Studio