DataGridView的具體應用(1)-右鍵單擊後選中所在行及彈出上下文菜單,通過事件捕獲所選行的ID號及單元格內容
1、DataGridView中實現右鍵單擊後選中所在行及彈出上下文菜單 首先對dataGridView1添加RowContextMenuStripNeeded事件,然後新建一個DataGridViewRow,通過e.RowIndex捕獲鼠標右鍵單擊的行信息,清除所有選中的行,將鼠標右鍵捕獲到的行設爲選中。 在這裏通過dataGridViewRow1.Cells["fullNameDataGridViewTextBoxColumn"].Value將所選單元格的內容傳給變量,附代碼如下。 private void dataGridView1_RowContextMenuStripNeeded(object sender, DataGridViewRowContextMenuStripNeededEventArgs e) { DataGridViewRow dataGridViewRow1 = dataGridView1.Rows[e.RowIndex]; dataGridView1.ClearSelection(); dataGridViewRow1.Selected = true; toolStripMenuItem1.Enabled = true; fullName = dataGridViewRow1.Cells["fullNameDataGridViewTextBoxColumn"].Value as string; // if ((dataGridViewRow1.Cells["Title"].Value.ToString() == //"Sales Manager") || //(dataGridViewRow1.Cells["Title"].Value.ToString() == //"Vice President, Sales")) // { // e.ContextMenuStrip = managerMenuStrip; // } // else // { // e.ContextMenuStrip = employeeMenuStrip; // } // contextMenuRowIndex = e.RowIndex; } -------------------------------------------------------------------------------------------- 2、DataGridView中通過事件捕獲所選行的ID號及單元格內容 主要是通過dataGridView1.Rows[dataGridView1.CurrentCellAddress.Y].Cells["列名"].Value捕獲鼠標單擊的行及指定列的值。 fullName = dataGridView1.Rows[dataGridView1.CurrentCellAddress.Y].Cells["fullNameDataGridViewTextBoxColumn"].Value as string; if (fullName != null) { MessageBox.Show(fullName); }
|
|