Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Разработка приложений баз данных (Visual Studio 2008).docx
Скачиваний:
143
Добавлен:
26.03.2016
Размер:
1.01 Mб
Скачать

Примеры

В следующем примере свойство RowVersion используется для определения состояния строки в объекте DataRowView.

private static void DemonstrateRowVersion()

{

// Create a DataTable with one column.

DataTable table = new DataTable("Table");

DataColumn column = new DataColumn("Column");

table.Columns.Add(column);

// Add ten rows.

DataRow row;

for (int i = 0; i < 10; i++)

{

row = table.NewRow();

row["Column"] = "item " + i;

table.Rows.Add(row);

}

table.AcceptChanges();

// Create a DataView with the table.

DataView view = new DataView(table);

// Change one row's value:

table.Rows[1]["Column"] = "Hello";

// Add one row:

row = table.NewRow();

row["Column"] = "World";

table.Rows.Add(row);

// Set the RowStateFilter to display only added

// and modified rows.

view.RowStateFilter = DataViewRowState.Added |

DataViewRowState.ModifiedCurrent;

// Print those rows. Output includes "Hello" and "World".

PrintView(view, "ModifiedCurrent and Added");

// Set filter to display only originals of modified rows.

view.RowStateFilter = DataViewRowState.ModifiedOriginal;

PrintView(view, "ModifiedOriginal");

// Delete three rows.

table.Rows[1].Delete();

table.Rows[2].Delete();

table.Rows[3].Delete();

// Set the RowStateFilter to display only deleted rows.

view.RowStateFilter = DataViewRowState.Deleted;

PrintView(view, "Deleted");

// Set filter to display only current rows.

view.RowStateFilter = DataViewRowState.CurrentRows;

PrintView(view, "Current");

// Set filter to display only unchanged rows.

view.RowStateFilter = DataViewRowState.Unchanged;

PrintView(view, "Unchanged");

// Set filter to display only original rows.

// Current values of unmodified rows are also returned.

view.RowStateFilter = DataViewRowState.OriginalRows;

PrintView(view, "OriginalRows");

}

private static void PrintView(DataView view, string label)

{

Console.WriteLine("\n" + label);

for (int i = 0; i < view.Count; i++)

{

Console.WriteLine(view[i]["Column"]);

Console.WriteLine("DataViewRow.RowVersion: {0}",

view[i].RowVersion);

}

}

DataView.RowStateFilter - свойство

  • .NET Framework 3.5

Возвращает или задает фильтр состояния строк, применяемый в DataView.

Пространство имен:  System.Data Сборка:  System.Data (в System.Data.dll)

public DataViewRowState RowStateFilter { get; set; }

Значение свойства

Тип: System.Data.DataViewRowState Одно из значений DataViewRowState.

Заметки

Значение Deleted задается свойству RowStateFilter только для тех строк, которые были удалены с помощью метода Delete. Если строка добавляется с помощью метода AddNew, ее свойство будет иметь значение Added.

Примечание

Применение метода Remove класса DataRowCollection не означает, что строка будет помечена как Deleted. Чтобы эти строки можно было просматривать в DataView, воспользуйтесь вместо него методом Delete.

Новые строки будут отображаться, если для свойства RowStateFilter будет задано значение ModifiedCurrent или CurrentRows.

Удаленные строки будут также отображаться, если для свойства RowStateFilter будет задано значение ModifiedOriginal и OriginalRows.