Российская международная академия туризма
Опубликован: 09.09.2008 | Доступ: свободный | Студентов: 811 / 38 | Оценка: 4.33 / 4.33 | Длительность: 13:07:00
Темы: Базы данных, Программирование
Специальности: Администратор баз данных
Теги:
Лекция 10:
Формат XML для Smartdevice. Создание и управление объектами ADO.NET
Шаг 3. Добавляем переменные в состав public class Form1 : System.Windows.Forms.Form
int i=0; // номер строки для вывода в textbox
Шаг 4. Создаем процедуру заполнения – очистки элементов просмотра XML – данных
Для кнопки "Заполнить" ("Очистить") пишем:
DataSet dataSet=new DataSet(); // создаем переменную dataSet // добавляем таблицу в dataSet DataTable dataTable=dataSet.Tables.Add("CardVISA"); // программно создаем структуру - добавляем столбцы dataTable.Columns.Add("Сумма",System.Type.GetType("System.String")); dataTable.Columns.Add("Цель",System.Type.GetType("System.String")); dataTable.Columns.Add("Фирма",System.Type.GetType("System.String")); dataTable.Columns.Add("Дата",System.Type.GetType("System.String")); // для идентификации записей создаем поле с типом данных Int64dataTable.Columns.Add("ID",System.Type.GetType("System.Int64")); // программируем объекты записей object[] a1={"-17800","Salary","РМАТ", "07-02-2006","1"}; object[] a2={"300","Связь","МТС", "08-02-2006","2"}; object[] a3={"300","Связь","МТС", "09-02-2006","3"}; // программно заполняем таблицу, добавляя строки dataTable.Rows.Add(a1); dataTable.Rows.Add(a2); dataTable.Rows.Add(a3); // привязываем текстовые боксы с указанием i-й строки вывода BindingContext[dataTable].Position=i; // привязываем листбокс listBox1.DataSource=dataTable; listBox1.DisplayMember="Сумма"; listBox1.ValueMember="ID"; listBox2.DataSource=dataTable; listBox2.DisplayMember="Цель"; listBox3.DataSource=dataTable; listBox3.DisplayMember="Фирма"; listBox4.DataSource=dataTable; listBox4.DisplayMember="Дата"; // привязываем датагрид dataGrid1.DataSource=dataTable; button2.Visible=false; // прячем кнопку "Заполнить" button3.Visible=true; // показываем кнопку "Очистить" }
Шаг 5. Создаем процедуру прокрутки записей на закладке "TextBox"
Для кнопки "Next" закладки "TextBox" пишем:
private void button4_Click(object sender, System.EventArgs e) { // дублируем функцию кнопки "Заполнить" DataSet dataSet=new DataSet(); DataTable dataTable=dataSet.Tables.Add("CardVISA"); dataTable.Columns.Add("Сумма",System.Type.GetType("System.String")); dataTable.Columns.Add("Цель",System.Type.GetType("System.String")); dataTable.Columns.Add("Фирма",System.Type.GetType("System.String")); dataTable.Columns.Add("Дата",System.Type.GetType("System.String")); dataTable.Columns.Add("ID",System.Type.GetType("System.Int64")); object[] a1={"-17800","Salary","РМАТ", "07-02-2006","1"}; object[] a2={"300","Связь","МТС", "08-02-2006","2"}; object[] a3={"300","Связь","МТС", "09-02-2006","3"}; dataTable.Rows.Add(a1); dataTable.Rows.Add(a2); dataTable.Rows.Add(a3); // крутим i i=i+1; if (i = =3) i=0; BindingContext[dataTable].Position=i; // чистим текстбоксы foreach (Control t in this.tabPage1.Controls) { if (t is TextBox) { t.DataBindings.Clear(); t.Text="";} } // привязываем текстовые боксы textBox1.DataBindings.Add("Text",dataTable,"Сумма"); textBox2.DataBindings.Add("Text",dataTable,"Цель"); textBox3.DataBindings.Add("Text",dataTable,"Фирма"); textBox4.DataBindings.Add("Text",dataTable,"Дата"); textBox5.DataBindings.Add("Text",dataTable,"ID"); }
Шаг 6. Создаем процедуру вывода номера записи для закладки "ListBox"
Для кнопки "Ключ ID" пишем:
private void button5_Click(object sender, System.EventArgs e) { MessageBox.Show(String.Format("{0}",listBox1.SelectedValue),"Ключ ID"); }
Шаг 7. Создаем процедуру очистки элементов просмотра данных
Для кнопки "Очистить" пишем:
private void button3_Click(object sender, System.EventArgs e) { foreach (Control t in this.tabPage1.Controls) { // чистим текстбоксы if (t is TextBox) { t.DataBindings.Clear(); t.Text="";} } // чистим листбоксы listBox1.DataSource=dataTable; listBox1.Items.Clear(); listBox2.DataSource=dataTable; listBox2.Items.Clear(); listBox3.DataSource=dataTable; listBox3.Items.Clear(); listBox4.DataSource=dataTable; listBox4.Items.Clear(); // чистим грид dataGrid1.DataSource=dataTable; dataGrid1.Text=""; button2.Visible=true; // показываем кнопку "Заполнить" button3.Visible=false; // прячем кнопку "Очистить" }
Шаг 8. Создаем процедуру сохранения таблицы в формате XML
Для кнопки "Сохранить" пишем:
private void button6_Click(object sender, System.EventArgs e) { FileStream fin_out; // задаем поток try {// если файл не существует fin_out=new FileStream("dataSet.xml",FileMode.OpenOrCreate); fin_out.Close(); } catch(IOException exc) { MessageBox.Show ("Невозможно открыть файл.","Ошибка"); return;} StreamWriter xml_out; try { xml_out=new StreamWriter("dataSet.xml"); } catch(IOException exc) { MessageBox.Show ("Невозможно открыть файл.","Ошибка"); return;} // форматируем xml XmlTextWriter xmlWriter=new XmlTextWriter(xml_out); // способ форматирования xmlWriter.Formatting=Formatting.Indented; xmlWriter.Indentation=3; DataSet dataSet=new DataSet(); DataTable dataTable=dataSet.Tables.Add("CardVISA"); dataTable.Columns.Add("Сумма",System.Type.GetType("System.String")); dataTable.Columns.Add("Цель",System.Type.GetType("System.String")); dataTable.Columns.Add("Фирма",System.Type.GetType("System.String")); dataTable.Columns.Add("Дата",System.Type.GetType("System.String")); dataTable.Columns.Add("ID",System.Type.GetType("System.Int64")); object[] a1={"-17800","Salary","РМАТ", "07-02-2006","1"}; object[] a2={"300","Связь","МТС", "08-02-2006","2"}; object[] a3={"300","Связь","МТС", "09-02-2006","3"}; dataTable.Rows.Add(a1); dataTable.Rows.Add(a2); dataTable.Rows.Add(a3); dataSet.WriteXml(xmlWriter,XmlWriteMode.IgnoreSchema); xmlWriter.Close(); MessageBox.Show("Файл записан в формате XML","Сохранение"); }
Шаг 9. Создаем процедуру выхода из программы
Для кнопки "Выход" пишем:
private void button1_Click(object sender, System.EventArgs e) { Application.Exit(); }