Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая.doc
Скачиваний:
6
Добавлен:
08.11.2018
Размер:
470.53 Кб
Скачать

Программный код примера №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();

}

}

}