- •Содержание
- •Введение
- •Класс DataView
- •Базовая информация
- •Конструкторы класса DataView
- •Свойства класса DataView
- •Методы класса DataView
- •События класса DataView
- •Пример использования DataView
- •Первый пример
- •Простой пример взаимодействия автономного DataTable и DataView
- •Более сложный пример с возможностью добавления записей и поиска
- •Заключение
- •Список литературы
- •Программный код примера №1
- •Программный код примера №2
- •Программный код примера №3
Список литературы
1. Сайт Русского MSDN, http://msdn.microsoft.com/
2. Карли Ватсон, «С#», Издательство «Лори», 2005.
3. Герберт Шилдт, «Полный справочник по С#», Издательский дом "Вильяме", 2004.
4. Карли Уотсон, Кристиан Нейгел, «Microsoft Visual C# 2008 Базовый курс», Издательский дом "Диалектика", 2008.
Приложение 1
Программный код примера №1
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data;
namespace DataViewConsoleMSDNExpample
{
class Program
{
static void DemonstrateDataView()
{
// Create one DataTable with one column.
DataTable table = new DataTable("table");
DataColumn colItem = new DataColumn("item",
Type.GetType("System.String"));
table.Columns.Add(colItem);
// Add five items.
DataRow NewRow;
for (int i = 0; i < 5; i++)
{
NewRow = table.NewRow();
NewRow["item"] = "Item " + i;
table.Rows.Add(NewRow);
}
// Change the values in the table.
table.Rows[0]["item"] = "cat";
table.Rows[1]["item"] = "dog";
table.AcceptChanges();
// Create two DataView objects with the same table.
DataView firstView = new DataView(table);
DataView secondView = new DataView(table);
// Print current table values.
PrintTableOrView(table, "Current Values in Table");
// Set first DataView to show only modified
// versions of original rows.
firstView.RowStateFilter = DataViewRowState.ModifiedOriginal;
// Print values.
table.Rows[2]["item"] = "hourse";
PrintTableOrView(firstView, "First DataView: ModifiedOriginal");
// Add one New row to the second view.
DataRow rowAdd;
rowAdd = table.NewRow();
rowAdd["item"] = "fish";
table.Rows.Add(rowAdd);
// Set second DataView to show modified versions of
// current rows, or New rows.
secondView.RowStateFilter = DataViewRowState.ModifiedCurrent
| DataViewRowState.Added;
// Print modified and Added rows.
PrintTableOrView(secondView,
"Second DataView: ModifiedCurrent | Added");
table.AcceptChanges();
PrintTableOrView(table, "Current Values in Table");
}
static void PrintTableOrView(DataTable table, string label)
{
// This function prints values in the table or DataView.
Console.WriteLine("\n" + label);
for (int i = 0; i < table.Rows.Count; i++)
{
Console.WriteLine("\t " + table.Rows[i]["item"]);
}
Console.WriteLine();
}
static void PrintTableOrView(DataView view, string label)
{
// This overload prints values in the table or DataView.
Console.WriteLine("\n" + label);
for (int i = 0; i < view.Count; i++)
{
Console.WriteLine("\t " + view[i]["item"]);
}
Console.WriteLine();
}
static void Main(string[] args)
{
DemonstrateDataView();
Console.ReadLine();
}
}
}
Приложение 2