Sdílet prostřednictvím


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:

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

  1. Otevřete váš dataset v Dataset Návrhář.Další informace naleznete v tématu Jak: Otevřete Návrhář Dataset objektu 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ázorný postup: Zobrazení dat formuláře systému Windows

Jak: ověření dat v ovládacím prvku DataGridView model Windows Forms

Jak: zobrazení ikony chybě ověřování formulářů s komponentou může zprostředkovatel ErrorProvider model Windows Forms

Jak: připojení k datům v databázi

Referenční dokumentace

Okno zdroje dat

Koncepty

Přehled TableAdapter

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

Přehled zdrojů dat

Ověření dat