Jak: ověření dat během změny 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 Jak: rozšířit funkce objektu DataSet.
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 Komponenta může zprostředkovatel ErrorProvider (model Windows Forms).
Ověření lze provést také během RowChanging událostí.Další informace naleznete v tématu Jak: ověření dat během změn řádku.
K ověření dat jako změnu hodnoty sloupce
Otevřete váš dataset v Dataset Návrhář.Další informace naleznete v tématu Jak: Otevřete Návrhář Dataset objektu 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ázorný postup: Zobrazení dat formuláře systému Windows
Jak: ověření dat v ovládacím prvku DataGridView model Windows Forms
Jak: připojení k datům v databázi