コード例 #1
0
ファイル: MainFrame.cs プロジェクト: FreedomHex/TDay
        private void dataGridView2_CellMouseClick(object sender, DataGridViewCellMouseEventArgs e)
        {
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                FormProvider.CurrentRowIndex = e.RowIndex;
                FormProvider.CurrentColIndex = e.ColumnIndex;
                switch (e.ColumnIndex)
                {
                    case 1:
                        if ((bool)dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Value)
                        {
                            if (DialogResult.Yes == MessageBox.Show("Are you sure you want to delete this entry?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Question))
                            {
                                daysTableAdapter.Delete((int)dataGridView2.Rows[e.RowIndex].Cells["dayIdDataGridViewTextBoxColumn"].Value);
                                daysTableAdapter.Fill(tDayDataSet.Days, CurrentDay.Date);
                            }
                            else
                            {
                                dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Value = 1;
                                dataGridView2.RefreshEdit();
                            }
                        }

                        break;
                    case 2:
                        if ((bool)dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].EditedFormattedValue)
                        {
                            DayItem Item = new DayItem((int)dataGridView2.Rows[e.RowIndex].Cells["dayIdDataGridViewTextBoxColumn"].Value, CurrentDay.Date);
                            Item.Lunch = false;
                            Item.LunchPrice = Decimal.Zero;
                            Item.Update();
                            daysTableAdapter.Fill(tDayDataSet.Days, CurrentDay.Date);
                        }
                        else
                        {
                            DayItem Item = new DayItem((int)dataGridView2.Rows[e.RowIndex].Cells["dayIdDataGridViewTextBoxColumn"].Value, CurrentDay.Date);
                            Item.Lunch = true;
                            Item.LunchPrice = Item.GetLunchPrice();
                            Item.Update();
                            daysTableAdapter.Fill(tDayDataSet.Days, CurrentDay.Date);
                        }
                        break;

                }
                ReCountTotals();
            }
            else if (e.Button == System.Windows.Forms.MouseButtons.Right)
            {
                FormProvider.CurrentRowIndex = e.RowIndex;
                FormProvider.CurrentColIndex = e.ColumnIndex;
                dataGridView2.Rows[e.RowIndex].Cells[e.ColumnIndex].Selected = true;
                switch (e.ColumnIndex)
                {
                    case 3:
                            contextMenuStrip1.Tag = e.ColumnIndex;
                            contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
                break;
                    case 6:
                        if (ProfileProvider.GetCategory((int)dataGridView2.Rows[e.RowIndex].Cells["profileIdDataGridViewTextBoxColumn1"].Value) == 1)
                        {
                            contextMenuStrip1.Tag = e.ColumnIndex;
                            contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
                        }
                        break;
                    case 8:
                        if (ProfileProvider.GetCategory((int)dataGridView2.Rows[e.RowIndex].Cells["profileIdDataGridViewTextBoxColumn1"].Value) == 1)
                        {
                            contextMenuStrip1.Tag = e.ColumnIndex;
                            contextMenuStrip1.Show(MousePosition.X, MousePosition.Y);
                        }
                        break;
                }
            }
        }