private void razdelitToolStripMenuItem_Click(object sender, EventArgs e) { DataGridView grid = (DataGridView)contextMenuStripCELL.SourceControl; if (grid.SelectedRows.Count == 1) { DataRowView curent_row = (DataRowView)grid.SelectedRows[0].DataBoundItem; ___BASA__DataSet.ZurnalRow cr = (___BASA__DataSet.ZurnalRow)curent_row.Row; DelimVremya dv = new DelimVremya(); int curent_per = dv.periodDefault = cr.period; dv.startTime = cr.time; dv.Tag = this; if (dv.ShowDialog() == DialogResult.OK) { cr.period = new_per_delim; if (where_zap_whill_delim) { ___BASA__DataSet.Zurnal.AddZurnalRow(data_new_delim, curent_per - new_per_delim, (int)grid.Tag, "", cr.dataZap, 0, "", ""); } else { ___BASA__DataSet.Zurnal.AddZurnalRow(data_new_delim, curent_per - new_per_delim, (int)grid.Tag, cr.zap, cr.dataZap, cr.PID, cr.PS, cr.zapTag); cr.PID = 0; cr.zapTag = ""; cr.zap = ""; cr.PS = ""; } setupDATESadd(cr.dataZap, cr.DID); } } }
private void addTimeEndToolStripMenuItem_Click(object sender, EventArgs e) { addedPeriodToBegin = 0; addedPeriodToEnd = 0; DataGridView curGrid = (DataGridView)((ContextMenuStrip)((ToolStripMenuItem)sender).Owner).SourceControl; if (curGrid.Rows.Count > 0) { DateTime dateOfDay = findDataForGrid(curGrid); DateTime minT = DateTime.MaxValue; DateTime maxT = DateTime.MinValue; int maxPer = 0; foreach (___BASA__DataSet.ZurnalRow dr in ___BASA__DataSet.Zurnal.Select("DID=" + curGrid.Tag.ToString() + " AND dataZap='" + dateOfDay + "'")) { if (dr.time.TimeOfDay.TotalMinutes > maxT.TimeOfDay.TotalMinutes) { maxT = dr.time; maxPer = dr.period; } if (dr.time.TimeOfDay.TotalMinutes < minT.TimeOfDay.TotalMinutes) { minT = dr.time; } } AddTime at = new AddTime(); at.Tag = this; at.endTime = maxT.AddMinutes(maxPer); at.beginTime = minT; if (at.ShowDialog() == DialogResult.Yes) { if (addedPeriodToEnd != 0) { ___BASA__DataSet.ZurnalRow addedRow = ___BASA__DataSet.Zurnal.NewZurnalRow(); addedRow.dataZap = dateOfDay; addedRow.PID = 0; addedRow.zap = addedRow.zapTag = addedRow.PS = ""; addedRow.DID = (int)curGrid.Tag; addedRow.period = addedPeriodToEnd; addedRow.time = maxT.AddMinutes(maxPer); ___BASA__DataSet.Zurnal.AddZurnalRow(addedRow); setupDATESadd(addedRow.dataZap, (int)curGrid.Tag); } if (addedPeriodToBegin != 0) { ___BASA__DataSet.ZurnalRow addedRow = ___BASA__DataSet.Zurnal.NewZurnalRow(); addedRow.dataZap = dateOfDay; addedRow.PID = 0; addedRow.zap = addedRow.zapTag = addedRow.PS = ""; addedRow.DID = (int)curGrid.Tag; addedRow.period = addedPeriodToBegin; addedRow.time = minT.AddMinutes(-addedPeriodToBegin); ___BASA__DataSet.Zurnal.AddZurnalRow(addedRow); setupDATESadd(addedRow.dataZap, (int)curGrid.Tag); } } } }
private void cutToolStripMenuItem_Click(object sender, EventArgs e) { DataGridView curGrid = (DataGridView)contextMenuStripCELL.SourceControl; if (curGrid.SelectedRows.Count == 1) { cutRow = (___BASA__DataSet.ZurnalRow)((DataRowView)((DataGridView)contextMenuStripCELL.SourceControl).SelectedRows[0].DataBoundItem).Row; pasteToolStripMenuItem.Enabled = true; setupDATESadd(cutRow.dataZap, cutRow.DID); } }
private void pasteToolStripMenuItem_Click(object sender, EventArgs e) { DataGridView curGrid = (DataGridView)contextMenuStripCELL.SourceControl; if (curGrid.SelectedRows.Count == 1 && cutRow != null) { DataGridViewRow r = curGrid.SelectedRows[0]; addZap((___BASA__DataSet.ZurnalRow)((DataRowView)r.DataBoundItem).Row, cutRow.PID, cutRow.zap, cutRow.PS, cutRow.zapTag); addZap(cutRow, 0, "", "", ""); cutRow = null; pasteToolStripMenuItem.Enabled = false; } }
private void dayParamToolStripMenuItem_Click(object sender, EventArgs e) { DataGridView curGrid = (DataGridView)((ContextMenuStrip)((ToolStripMenuItem)sender).Owner).SourceControl; bool pusto = true; foreach (DataGridViewRow r in curGrid.Rows) { if (((DataRowView)r.DataBoundItem)["zap"].ToString() != "") { pusto = false; break; } } if (pusto || (!pusto & MessageBox.Show("Выбранный день содержат записи. Изменение параметров дня приведет к потере всех записей.\rДля изменения продолжительности смены с сохранением записей воспользуйтесь функциями \"Объединить\\разделить время\", \"Продлить смену\".\rПродолжить?", this.Text, MessageBoxButtons.YesNo, MessageBoxIcon.Warning, MessageBoxDefaultButton.Button1) == DialogResult.Yes)) { DateTime dateOfDay = findDataForGrid(curGrid); dayParam dp = new dayParam(); dp.Tag = this; if (dp.ShowDialog() == DialogResult.Yes) { foreach (DataRow ddrr in ___BASA__DataSet.Zurnal.Select("DID=" + curGrid.Tag.ToString() + " AND dataZap='" + dateOfDay + "'")) { ddrr.Delete(); } int N_ofDayItem = (int)(endDay.TimeOfDay.TotalMinutes - begDay.TimeOfDay.TotalMinutes) / perDay; DateTime ts = begDay; for (int i = 1; i <= N_ofDayItem; i++) { ___BASA__DataSet.ZurnalRow r = ___BASA__DataSet.Zurnal.NewZurnalRow(); r.time = ts; r.period = perDay; r.DID = (int)curGrid.Tag; r.PS = r.zapTag = r.zap = ""; r.dataZap = dateOfDay; r.PID = 0; ___BASA__DataSet.Zurnal.AddZurnalRow(r); ts = ts.AddMinutes(perDay); } setupDATESadd(dateOfDay, (int)curGrid.Tag); } } }
void addZap(___BASA__DataSet.ZurnalRow row, int pid, string z, string ps, string zapTag) { row.PID = pid; if (z.Length > 255) { MessageBox.Show("Длина записи превышает допустимые 255 символов. Запись будет усечена."); z = z.Remove(255); } if (ps.Length > 255) { ps = ps.Remove(255); } row.zap = z; row.PS = ps; row.zapTag = zapTag; setupDATESadd(row.dataZap, row.DID); griddColors(); }