Sdílet prostřednictvím


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:

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

  1. Otevřete váš dataset v Dataset Návrhář. Další informace naleznete v tématu Postupy: Otevření datové sady v Návrháři DataSet.

  2. 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í.

  3. 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

Referenční dokumentace

Okno zdroje dat

Koncepty

TableAdapter – přehled

Vytváření a úpravy typovaných datových sad

Přehled zdrojů dat

Ověřování dat