Postupy: Ověřování dat během úprav sloupců
Ověřování dat je proces kontroly hodnoty do data aplikace.Kontrola tyto hodnoty určené k odeslání aktualizace pro základní úložiště dat je dobré praxe, které snižuje potenciální počet přenosy dat mezi aplikací a úložiště.
[!POZNÁMKA]
Dataset Návrhář vytvoří částečné třídy, kde logiku ověřování lze do objektu dataset.Návrhář generovány dataset bude odstranit nebo změnit libovolný kód v částečné třídy.Další informace naleznete v tématu Postupy: Rozšíření funkcí datové sady.
Data můžete ověřit při změně hodnoty ve sloupci data podle reagovat na ColumnChanging událostí.Když je aktivována, tato událost předává události argument (ProposedValue), který obsahuje hodnoty navrhované pro aktuální sloupec.Na základě obsahu e.ProposedValue, můžete:
Navržená hodnota přijmete nic úkonů.
Odmítnout navrhovanou hodnotu nastavením chybové sloupce (SetColumnError) z v rámci obslužné rutiny události změna sloupců.
Můžete také použít ErrorProvider řízení uživateli zobrazit chybová zpráva.Další informace naleznete v tématu ErrorProvider – komponenta (Windows Forms).
Ověření lze provést také během RowChanging událostí.Další informace naleznete v tématu Postupy: Ověřování dat během úprav řádků.
K ověření dat jako změnu hodnoty sloupce
Otevřete váš dataset v Dataset Návrhář.Další informace naleznete v tématu Postupy: Otevření datové sady v Návrháři DataSet.
Poklepejte na sloupec, který chcete ověřit.Tato akce vytvoří ColumnChanging obsluze události DataTable.
[!POZNÁMKA]
Dataset Návrhář není automaticky vytvořit obslužnou rutinu události pro událost C#.Dále jsou uvedeny kód potřebný pro zpracování událostí.
Přidat kód ověřit, zda e.ProposedValue obsahuje data, která splňuje požadavky aplikace.Navržená hodnota nepřijatelná, potom nastavte sloupec označte obsahuje chybu.
Následující kód například nastaví sloupec chyby při Quantity je sloupec 0 nebo méně.Sloupec Změna obslužné rutiny události by měl vypadat jako následující:
'Visual Basic Private Sub Order_DetailsDataTable_ColumnChanging(ByVal sender As System.Object, ByVal e As System.Data.DataColumnChangeEventArgs) _ Handles Me.ColumnChanging If (e.Column.ColumnName = Me.QuantityColumn.ColumnName) Then If CType(e.ProposedValue, Short) <= 0 Then e.Row.SetColumnError(e.Column, "Quantity must be greater than 0") Else e.Row.SetColumnError(e.Column, "") End If End If End Sub // C# // Add this code to the DataTable // partial class. public override void EndInit() { base.EndInit(); ColumnChanging += SampleColumnChangingEvent; } public void SampleColumnChangingEvent(object sender, System.Data.DataColumnChangeEventArgs e) { if (e.Column.ColumnName == QuantityColumn.ColumnName) { if ((short)e.ProposedValue <= 0) { e.Row.SetColumnError("Quantity", "Quantity must be greater than 0"); } else { e.Row.SetColumnError("Quantity", ""); } } }
Viz také
Úkoly
Návod: Zobrazování dat ve formuláři Windows
Postupy: Ověřování dat v ovládacím prvku Windows Forms DataGridView
Postupy: Zobrazení ikon chyby pro ověřování formuláře pomocí součásti Windows Forms ErrorProvider
Postupy: Připojování k datům v databázi