русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Заключение


Дата добавления: 2015-07-09; просмотров: 551; Нарушение авторских прав


 

При выполнении данной курсовой работы был изучен класс DataView, основная функциональность которого заключается в полном или частичном отображение данных из DataTable. Данный класс может с успехом применяться для визуальных приложений и web-приложений.

Необходимость использования данного класса зависит от постановки задачи. В случае использовании наборов данных. Объекты – представители класса DataView не предназначены для организации визуализации объектов DataTable. Их назначение – простой последовательный доступ к строкам таблицы. Объекты DataView являются средством перебора записей таблицы. DataView предоставляет средства динамического представления набора данных, к которому можно применить различные варианты сортировки и фильтрации на основе критериев.

Пригодность использования класса для данных целей, была проверена на тестовых примерах. Для создания тестовых примеров была изучена основная информация по данному классу. После успешного выполнения всех тестовых примеров можно сделать вывод, что DataView является гибким средством отображения данных хранящихся в DataTable. Еще одним положительным качество класса является то, что логика его работы не зависит от источника данных связанного DataTable. Структура DataTable может быть как связанной с таблицей базы данных, так и создана внутри приложения, как это было сделано в наших примерах.


Список литературы

 

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

Программный код примера №2

using System;



using System.Data;

 

class Program

{

static void Main()

{

//

// Specify the column to sort on.

//

DataTable table = GetTable();

table.DefaultView.Sort = "ID";

 

//

// Display all records in the view.

//

DataView view = table.DefaultView;

Console.WriteLine("=== Sorted by ID ===");

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

{

Console.WriteLine("{0},\t {1},\t {2}",

view[i][0],

view[i][1],

view[i][2]);

}

 

//

// Now sort on the Name.

//

view.Sort = "Town";

//

// Display all records in the view.

//

Console.WriteLine("=== Sorted by Town ===");

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

{

Console.WriteLine("{0},\t {1},\t {2}",

view[i][0],

view[i][1],

view[i][2]);

}

Console.ReadLine();

}

 

/// <summary>

/// This example method generates a DataTable.

/// </summary>

static DataTable GetTable()

{

//

// Here we create a DataTable with four columns.

//

DataTable table = new DataTable();

table.Columns.Add("ID", typeof(int));

table.Columns.Add("County", typeof(string));

table.Columns.Add("Town", typeof(string));

 

//

// Here we add unsorted data to the DataTable and return.

//

table.Rows.Add(1, "Россия", "Санкт-Петербург");

table.Rows.Add(2, "Россия", "Ставрополь");

table.Rows.Add(3, "Германия", "Бремен");

table.Rows.Add(15, "Россия", "Белгород");

table.Rows.Add(24, "Польша", "Прага");

return table;

}

}

 


Приложение 3

Программный код примера №3

 

using System;

using System.Collections;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

 

namespace DataViewPrimer

{

public partial class Form1 : Form

{

DataTable dt; // Таблица.

DataColumn c1, c2; // Столбцы таблцы.

DataRow dr; // Строка таблицы.

DataView dv; // Вьюер таблицы.

DataRowView rv; // Вьюер строки таблицы.

 

int currentCounter; // Счетчик текущей строки для вьюера таблицы.

 

public Form1()

{

InitializeComponent();

CreateTable();

dG.DataSource = dv;

dGforTable.DataSource = dt;

currentCounter = 0;

rv = dv[currentCounter];

demoTextBox.Text = rv["Cyti"].ToString();

}

 

private void CreateTable()

{

 

dt = new DataTable("Cyti");

 

c1 = new DataColumn("id", Type.GetType("System.Int32"));

c1.AutoIncrement = true;

c2 = new DataColumn("Cyti", Type.GetType("System.String"));

 

 

dt.Columns.Add(c1);

dt.Columns.Add(c2);

 

 

DataColumn[] keyCol = new DataColumn[1];

keyCol[0] = c1;

dt.PrimaryKey = keyCol;

dr = dt.NewRow();

dr["Cyti"] = "Москва";

dt.Rows.Add(dr);

dr = dt.NewRow();

dr["Cyti"] = "Санкт-Петербург";

dt.Rows.Add(dr);

dr = dt.NewRow();

dr["Cyti"] = "Прага";

dt.Rows.Add(dr);

dt.AcceptChanges();

 

DataViewRowState dvrs = DataViewRowState.Added |

DataViewRowState.CurrentRows |

DataViewRowState.Deleted |

DataViewRowState.ModifiedCurrent |

 

DataViewRowState.Unchanged;

dv = new DataView(dt, "", "Cyti", dvrs);

}

 

private void buttPrev_Click(object sender, EventArgs e)

{

if (currentCounter - 1 >= 0) currentCounter--;

rv = dv[currentCounter];

demoTextBox.Text = rv["Cyti"].ToString();

}

 

private void buttNext_Click(object sender, EventArgs e)

{

if (currentCounter + 1 < dv.Count) currentCounter++;

rv = dv[currentCounter];

demoTextBox.Text = rv["Cyti"].ToString();

}

 

private void buttFirst_Click(object sender, EventArgs e)

{

currentCounter = 0;

rv = dv[currentCounter];

demoTextBox.Text = rv["Cyti"].ToString();

}

 

private void buttLast_Click(object sender, EventArgs e)

{

currentCounter =dv.Count - 1;

rv = dv[currentCounter];

demoTextBox.Text = rv["Cyti"].ToString();

}

 

private void dG_MouseDown(object sender, MouseEventArgs e)

{

currentCounter = dG.CurrentRowIndex;

rv = dv[currentCounter];

demoTextBox.Text = rv["Cyti"].ToString();

}

 

private void buttonFind_Click(object sender, EventArgs e)

{

int findIndex = -1;

 

findIndex = dv.Find(findTextBox.Text);

 

if (findIndex >= 0)

{

currentCounter = findIndex;

rv = dv[currentCounter];

demoTextBox.Text = rv["Cyti"].ToString();

}

else

{

findTextBox.Text = "Не нашли.";

}

 

}

 

private void buttonAdd_Click(object sender, EventArgs e)

{

if (rv.IsEdit || rv.IsNew) return;

rv = dv.AddNew();

rv["Cyti"] = findTextBox.Text;

}

 

private void buttonAcc_Click(object sender, EventArgs e)

{

rv.EndEdit();

dt.AcceptChanges();

}

}

}

 



<== предыдущая лекция | следующая лекция ==>
События класса DataView | Правила оформления курсовой работы


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.192 сек.