Staram się uzyskać wartości komórek linii siatki danych, na który klikam, i zapisać je do późniejszego wykorzystania, ale wygląda na to, że nie mogę sprawić, by to działać.
Po kliknięciu na wiersz powinno pojawić się menu, w którym mogę wybrać akcję z tymi wartościami.
To jest to, co osiągnąłem do tej pory
private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs x)
{
if (dataGridView1.Rows[x.RowIndex].Cells["Name"].Value != null) name = dataGridView1.Rows[x.RowIndex].Cells["Name"].Value.ToString();
else if (dataGridView1.Rows[x.RowIndex].Cells["LastName"].Value != null) last = dataGridView1.Rows[x.RowIndex].Cells["LastName"].Value.ToString();
}
private void dataGridView1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Right)
{
if (last != null && name != null)
{
ContextMenu cm = new ContextMenu();
this.ContextMenu = cm;
cm.MenuItems.Add(new MenuItem("&Do something with those values in this row", new System.EventHandler(this.do_Action_with_values)));
cm.Show(this, new Point(e.X, e.Y));
}
last = null;
name = null;
}
}
Usuwanie: jeśli (ostatnia != null && nazwa != null)
Zmusi menu pracować, ale ustawienia nie zostaną zapisane, wszystkie są równe zero.
Czy istnieje właściwy sposób zapisać w wierszach wszystkie wartości kolumn na wiersze, na który zostanie wciśnięty?