[C#] DataGridView 應用(二) – 右鍵選單、新增資料

上一篇[C#] DataGridView 應用(一) – Column & DataRow
介紹了讀取資料並新增至DataGridView的方法
下一步我們將新增右鍵選單
並加入新增資料的功能


首先打造右鍵選單的框架
宣告ContextMenu,新增MenuItem,加入Click Event

private ContextMenu menu = new ContextMenu();

public frm_Main()
{
    InitializeComponent();

    //於Form建構時,加入以下程式碼
    MenuItem miAdd = new MenuItem("新增");//宣告新的按鈕項目
    miAdd.Click += new System.EventHandler(this.miAdd_Click);//連接Click事件
    menu.MenuItems.Add(miAdd);//新增到右鍵選單menu中

    menu.MenuItems.Add(new MenuItem("取消"));                 
}

private void miAdd_Click(object sender, System.EventArgs e)
{
    //之後要寫入新增資料的功能      
}

然後再設定DataGridView的MouseDown事件
確認是按下右鍵後,顯示選單

private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
    if (e.Button == MouseButtons.Right)//按下右鍵
    {
        menu.Show(dataGridView1, new Point(e.X, e.Y));//顯示右鍵選單
    }
}

試試看,在DataGridView上面按右鍵
可以看到選單出現了
2016-5-10 下午 05-03-44


再來補上新增按鈕的事件內容
這邊我設計一個彈出視窗
2016-5-10 下午 05-23-58

public partial class frmAddData : Form
{
    NorthwindEntities ef;

    public frmAddData(NorthwindEntities ef)
    {
        InitializeComponent();
        this.ef = ef;
    }

    private void btnOK_Click(object sender, EventArgs e)
    {
        try
        {
            Customers customer = new Customers();
            customer.CustomerID = textBoxID.Text;
            customer.CompanyName = textBoxName.Text;

            ef.Customers.Add(customer);
            ef.SaveChanges();
            MessageBox.Show("新增成功");
        }
        catch (Exception ex)
        {
            MessageBox.Show(ex.ToString());//顯示錯誤訊息
        }

        this.Close();
    }

    private void btnCancel_Click(object sender, EventArgs e)
    {
        this.Close();
    }
}

然後回到前面的右鍵選單→新增
讓它的Click事件補上彈出視窗
並於視窗關閉後,重新讀取資料

private void miAdd_Click(object sender, System.EventArgs e)
{
    //右鍵新增
    frmAddData frm = new frmAddData(ef);
    frm.ShowDialog();//彈出對話視窗(新增資料)
            
    btnGetData.PerformClick();//重新讀取資料(刷新)
}

最後實際測試看看,如下圖結果
(右鍵選單→新增→輸入資料→按下OK)

2016-5-10 下午 05-21-53

2016-5-10 下午 05-22-18.png

大功告成!!

下一篇介紹修改資料設定條件的方法
[C#] DataGridView 應用(三) – 修改資料、條件設定

廣告

3 thoughts on “[C#] DataGridView 應用(二) – 右鍵選單、新增資料

發表迴響

在下方填入你的資料或按右方圖示以社群網站登入:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s