Проверка правильности данных на уровне строки таблицы
Пункт меню Открыть (группа Файл): Name = open1. Пункт меню Создать (группа Файл): Name = new1. Privatevoid Form2_FormClosing (object sender, FormClosingEventArgs e). Пункт меню Выход (группа Файл): Name = exit1. StreamWritersw = newStreamWriter (name, false, Encoding. Default); Дополнение конструктора классаForm2: Text = «CarShop — «+ Path. GetFileNameWithoutExtension (s); Privatevoid… Читать ещё >
Проверка правильности данных на уровне строки таблицы (реферат, курсовая, диплом, контрольная)
Определение события Row Validating:
privatevoid dataGridView1_RowValidating (object sender, DataGridViewCellCancelEventArgs e).
{.
if (dataGridView1.Rows[e.RowIndex]. IsNewRow).
return;
string err = «» ;
if (dataGridView1[1, e. RowIndex]. Value == null).
err = «Поле „Марка“ должно быть непустым» ;
e.Cancel = err ≠ «» ;
dataGridView1.Rows[e.RowIndex]. ErrorText = err;
}.
Использование XML-сериализации для сохранения и загрузки наборов данных
Добавляем на форму Form2 невизуальные компоненты типа Open File Dialog и Save File Dialog, а также компонент меню Menu Strip (эти компоненты получат имена openFileDialog1, saveFileDialog1, menuStrip1).
Создадим в компоненте menuStrip1 пункт меню первого уровня Файл (Name — file1). В выпадающем меню связанном с пунктом Файл четыре пункта меню с текстом Создать, Открыть…, Сохранить как…, Выход.
Настройка свойств добавленных компонентов и пунктов меню:
Пункт меню Создать (группа Файл): Name = new1.
Пункт меню Открыть (группа Файл): Name = open1.
Пункт меню Сохранить как (группа Файл): Name = save1.
Пункт меню Выход (группа Файл): Name = exit1.
Добавление в начало файла Form2. csоператоров:
using System. IO;
using System.Xml.Serialization;
Добавление нового поля в описание класса Form2:
privateXmlSerializerxmls = newXmlSerializer (typeof (List));
Дополнение конструктора классаForm2:
publicForm2().
{.
InitializeComponent ();
contactsBindingSource.DataSource = newList ();
}.
Описание в классеForm2 нового метода SaveData:
privatevoidSaveData (string name).
{.
if (name == «» || dataGridView1. RowCount == 1).
return;
if (dataGridView1.CurrentRow.IsNewRow).
dataGridView1.CurrentCell =.
dataGridView1[0, dataGridView1. RowCount — 2];
StreamWritersw = newStreamWriter (name, false, Encoding. Default);
xmls.Serialize (sw, carBindingSource. DataSource);
sw.Close ();
}.
Определение обработчика события Drop Down Opening для пункта меню Файл, события Click для пунктов меню new1, open1, save1, а также события Form Closing для формы Form2, обработчика события Current Cell Dirty State ChangeдлякомпонентаdataGridView1:
privatevoid new1_Click (object sender, EventArgs e).
{.
SaveData (saveFileDialog1.FileName);
carBindingSource.DataSource = newList ();
dataGridView1.CurrentCell = dataGridView1[0, 0];
saveFileDialog1.FileName = «» ;
Text = «CarShop» ;
foreach (DataGridViewRow row in dataGridView1. Rows).
{.
row.Height = 60;
}.
}.
privatevoid open1_Click (object sender, EventArgs e).
{.
openFileDialog1.FileName = «» ;
openFileDialog1.FileName = «» ;
if (openFileDialog1.ShowDialog () == DialogResult. OK).
{.
SaveData (saveFileDialog1.FileName);
string s = openFileDialog1. FileName;
StreamReadersr = newStreamReader (s, Encoding. Default);
carBindingSource.SuspendBinding ();
carBindingSource.DataSource = xmls. Deserialize (sr);
carBindingSource.ResumeBinding ();
sr.Close ();
saveFileDialog1.FileName = s;
Text = «CarShop — «+ Path. GetFileNameWithoutExtension (s);
int n = dataGridView1. RowCount;
for (inti = 0; i< n; i++).
{.
dataGridView1.Rows[i]. Cells[1].Value = newBitmap (dataGridView1.Rows[i]. Cells[7].Value + «»);
dataGridView1.Rows[i]. Height = newBitmap (dataGridView1.Rows[i]. Cells[7].Value + «»).Height;
}.
}.
}.
privatevoid saveAs1_Click (object sender, EventArgs e).
{.
if (saveFileDialog1.ShowDialog () == DialogResult. OK).
{.
string h = saveFileDialog1. FileName;
SaveData (h);
Text = «Car — «+ Path. GetFileNameWithoutExtension (h);
}.
}.
privatevoid Form2_FormClosing (object sender, FormClosingEventArgs e).
{.
SaveData (saveFileDialog1.FileName);
}.
privatevoid file1_DropDownOpening (object sender, EventArgs e).
{.
saveAs1.Enabled = dataGridView1. RowCount > 1;
}.
privatevoid dataGridView1_CurrentCellDirtyStateChanged (object sender, EventArgs e).
{.
menuStrip1.Enabled = !dataGridView1.IsCurrentCellDirty;
int row = dataGridView1.CurrentRow.Index;
if (!dataGridView1.IsCurrentCellDirty&&.
(int)dataGridView1[" Id1″, row]. Value == 0).
{.
intmaxId = 0;
for (inti = 0; i< row; i++).
{.
int v = (int)dataGridView1[" Id1″, i]. Value;
if (maxId< v).
maxId = v;
}.
dataGridView1[" Id1″, row]. Value = maxId + 1;
}.
}.