public SecondResultOfAskForm secondresultForm = new SecondResultOfAskForm();
private XmlSerializer xmls = new XmlSerializer(typeof(List<Facts>));
public StartForm()
{
InitializeComponent();
bindingSource1.DataSource = new List<Facts>();
}
private void SaveData(string name)
{
if (name == "" || dataGridViewBasic.RowCount == 1)
return;
if (dataGridViewBasic.CurrentRow.IsNewRow)
dataGridViewBasic.CurrentCell = dataGridViewBasic[0, dataGridViewBasic.RowCount - 2];
StreamWriter sw = new StreamWriter(name, false, Encoding.Default);
xmls.Serialize(sw, bindingSource1.DataSource);
sw.Close();
}
private void dataGridView1_RowEnter(object sender, DataGridViewCellEventArgs e)
{
bindingNavigatorDeleteItem.Enabled = !dataGridViewBasic.Rows[e.RowIndex].IsNewRow;
}
private void fileMenu_DropDownOpening(object sender, EventArgs e)
{
saveAsFile.Enabled = dataGridViewBasic.RowCount > 1;
}
private void dataGridView1_CurrentCellDirtyStateChanged(object sender, EventArgs e)
{
menuStrip1.Enabled = !dataGridViewBasic.IsCurrentCellDirty;
}
private void createFile_Click(object sender, EventArgs e)
{
SaveData(saveFileDialog1.FileName);
bindingSource1.DataSource = new List<Facts>();
dataGridViewBasic.CurrentCell = dataGridViewBasic[0, 0];
saveFileDialog1.FileName = "";
Text = "Система для работы с вкладами от частных лиц";
}
private void openFile_Click(object sender, EventArgs e)
{
openFileDialog1.FileName = "";
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
SaveData(saveFileDialog1.FileName);
string s = openFileDialog1.FileName;
StreamReader sr = new StreamReader(s, Encoding.Default);
bindingSource1.SuspendBinding();
bindingSource1.DataSource = xmls.Deserialize(sr);
bindingSource1.ResumeBinding();
sr.Close();
saveFileDialog1.FileName = s;
Text = "Система для работы с вкладами от частных лиц - " + Path.GetFileNameWithoutExtension(s);
}
}
private void saveAsFile_Click(object sender, EventArgs e)
{
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
string s = saveFileDialog1.FileName;
SaveData(s);
Text = "Система для работы с вкладами от частных лиц - " + Path.GetFileNameWithoutExtension(s);
}
}
private void saveFile_Click(object sender, EventArgs e)
{
SaveData(saveFileDialog1.FileName);
}
private void StartForm_FormClosing(object sender, FormClosingEventArgs e)
{
SaveData(saveFileDialog1.FileName);
}
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e)
{
if (dataGridViewBasic.Rows[e.RowIndex].IsNewRow)
return;
string err = "", s = e.FormattedValue.ToString();
switch (e.ColumnIndex)
{
case 0://Date
if (s == "") break;
DateTime d;
if (!DateTime.TryParse(s, out d))
err = "Строку нельзя преобразовать в дату";
else
{
int year = DateTime.Today.Year - d.Year;
int month = DateTime.Today.Month - d.Month;
int day = DateTime.Today.Day - d.Day;
if (year < 0)
err = "Введена неверная дата";
else if (month < 0 && year==0)
err = "Введена неверная дата";
else if (day < 0 && month==0 && year==0)
err = "Введена неверная дата";
}
break;
case 1://Surname
if (s == "")
err = "Поле\"Фамилия\" должно быть непустым";
break;
case 3://depositSum
double i;
if (!double.TryParse(s, out i))
err = "Строку нельзя преобразовать в число";
else
if (i < 0)
err = "Отрицательные числа не допускаются";
break;
} //switch
e.Cancel = err != "";
dataGridViewBasic.Rows[e.RowIndex].ErrorText = err;
}
private void dataGridView1_RowValidating(object sender, DataGridViewCellCancelEventArgs e)
{
if (dataGridViewBasic.Rows[e.RowIndex].IsNewRow)
return;
string err = "";
if (dataGridViewBasic[1, e.RowIndex].Value == null)
err = "Поле\"Фамилия\" должно быть непустым";
e.Cancel = err == "";
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.