DataView.RowStateFilter Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Získá nebo nastaví filtr stavu řádků použitý v DataView.
public:
property System::Data::DataViewRowState RowStateFilter { System::Data::DataViewRowState get(); void set(System::Data::DataViewRowState value); };
public System.Data.DataViewRowState RowStateFilter { get; set; }
[System.Data.DataSysDescription("DataViewRowStateFilterDescr")]
public System.Data.DataViewRowState RowStateFilter { get; set; }
member this.RowStateFilter : System.Data.DataViewRowState with get, set
[<System.Data.DataSysDescription("DataViewRowStateFilterDescr")>]
member this.RowStateFilter : System.Data.DataViewRowState with get, set
Public Property RowStateFilter As DataViewRowState
Hodnota vlastnosti
Jedna z DataViewRowState hodnot.
- Atributy
Příklady
Následující příklad vytvoří DataTable sloupec s jedním sloupcem a pak změní data a nastaví RowStateFilter hodnotu DataView tak, aby zobrazovala různé sady řádků v závislosti na DataViewRowState.
static private void DemonstrateRowState()
{
// Create a DataTable with one column.
DataTable dataTable = new DataTable("dataTable");
DataColumn dataColumn = new DataColumn("dataColumn");
dataTable.Columns.Add(dataColumn);
// Add ten rows.
DataRow dataRow;
for (int i = 0; i < 10; i++)
{
dataRow = dataTable.NewRow();
dataRow["dataColumn"] = "item " + i;
dataTable.Rows.Add(dataRow);
}
dataTable.AcceptChanges();
// Create a DataView with the table.
DataView dataView = new DataView(dataTable);
// Change one row's value:
dataTable.Rows[1]["dataColumn"] = "Hello";
// Add one row:
dataRow = dataTable.NewRow();
dataRow["dataColumn"] = "World";
dataTable.Rows.Add(dataRow);
// Set the RowStateFilter to display only added and modified rows.
dataView.RowStateFilter = DataViewRowState.Added
| DataViewRowState.ModifiedCurrent;
// Print those rows. Output = "Hello" "World";
PrintView(dataView, "ModifiedCurrent and Added");
// Set filter to display on originals of modified rows.
dataView.RowStateFilter = DataViewRowState.ModifiedOriginal;
PrintView(dataView, "ModifiedOriginal");
// Delete three rows.
dataTable.Rows[1].Delete();
dataTable.Rows[2].Delete();
dataTable.Rows[3].Delete();
// Set the RowStateFilter to display only Added and modified rows.
dataView.RowStateFilter = DataViewRowState.Deleted;
PrintView(dataView, "Deleted");
//Set filter to display only current.
dataView.RowStateFilter = DataViewRowState.CurrentRows;
PrintView(dataView, "Current");
// Set filter to display only unchanged rows.
dataView.RowStateFilter = DataViewRowState.Unchanged;
PrintView(dataView, "Unchanged");
// Set filter to display only original rows.
dataView.RowStateFilter = DataViewRowState.OriginalRows;
PrintView(dataView, "OriginalRows");
}
static private void PrintView(DataView dataView, string label)
{
Console.WriteLine("\n" + label);
for (int i = 0; i < dataView.Count; i++)
{
Console.WriteLine(dataView[i]["dataColumn"]);
}
}
Private Sub DemonstrateRowState()
Dim i As Integer
' Create a DataTable with one column.
Dim dataTable As New DataTable("dataTable")
Dim dataColumn As New DataColumn("dataColumn")
dataTable.Columns.Add(dataColumn)
' Add ten rows.
Dim dataRow As DataRow
For i = 0 To 9
dataRow = dataTable.NewRow()
dataRow("dataColumn") = "item " + i.ToString()
dataTable.Rows.Add(dataRow)
Next i
dataTable.AcceptChanges()
' Create a DataView with the table.
Dim dataView As New DataView(dataTable)
' Change one row's value:
dataTable.Rows(1)("dataColumn") = "Hello"
' Add one row:
dataRow = dataTable.NewRow()
dataRow("dataColumn") = "World"
dataTable.Rows.Add(dataRow)
' Set the RowStateFilter to display only Added and modified rows.
dataView.RowStateFilter = _
DataViewRowState.Added Or DataViewRowState.ModifiedCurrent
' Print those rows. Output = "Hello" "World";
PrintView(dataView, "ModifiedCurrent and Added")
' Set filter to display on originals of modified rows.
dataView.RowStateFilter = DataViewRowState.ModifiedOriginal
PrintView(dataView, "ModifiedOriginal")
' Delete three rows.
dataTable.Rows(1).Delete()
dataTable.Rows(2).Delete()
dataTable.Rows(3).Delete()
' Set the RowStateFilter to display only Added and modified rows.
dataView.RowStateFilter = DataViewRowState.Deleted
PrintView(dataView, "Deleted")
'Set filter to display only current.
dataView.RowStateFilter = DataViewRowState.CurrentRows
PrintView(dataView, "Current")
' Set filter to display only unchanged rows.
dataView.RowStateFilter = DataViewRowState.Unchanged
PrintView(dataView, "Unchanged")
' Set filter to display only original rows.
dataView.RowStateFilter = DataViewRowState.OriginalRows
PrintView(dataView, "OriginalRows")
End Sub
Private Sub PrintView(ByVal dataView As DataView, ByVal label As String)
Console.WriteLine(ControlChars.Cr + label)
Dim i As Integer
For i = 0 To dataView.Count - 1
Console.WriteLine(dataView(i)("dataColumn"))
Next i
End Sub
Poznámky
Pouze řádky, které byly odstraněny pomocí Delete metody, budou mít hodnotu RowStateFilter nastavenou na Deleted
. Tyto řádky přidané pomocí AddNew metody budou mít podobně vlastnost nastavenou na Added
.
Poznámka
Remove Použití metody DataRowCollection třídy neznamená, že řádek bude označen jako Deleted
. Místo toho použijte metodu Delete a ujistěte se, že tyto řádky lze zobrazit v objektu DataView.
Nové řádky budou také viditelné, RowStateFilter pokud je nastavena hodnota nebo ModifiedCurrent
CurrentRows
.
Odstraněné řádky budou také viditelné, RowStateFilter pokud je nastavena hodnota ModifiedOriginal
a OriginalRows
.