У меня есть DataGridView на вкладке. Когда пользователь нажимает на строку, появляется вторая DGV. Каждая строка связана с собственным DGV, заполненным данными. Я хочу, когда пользователь переходит из одной строки в другую, изменяется DataGridView. Пока я пробовал событие SelectionChanged, но я не хочу перезагружать DGV в том случае, если пользователь нажимает на отдельную ячейку в той же строке. Любая помощь будет очень оценена.Событие Datagridview SelectionChanged на основе выбора строки
void dgv1_CellClick(object sender, DataGridViewCellEventArgs e)
{
int rowIndex = dgv1.Rows[e.RowIndex].Index;
if (dgv1 == null)
return;
if (dgv1.Rows[e.RowIndex].Cells[rowIndex].Selected == true);
{
dgv2.Size = new Size(dgv2.Width + 800, dgv2.Height);
dgv2.Location = new Point(0, 500);
tp.Controls.Add(dgv2);
Console.WriteLine("Row clicked");
}
}
-Tatiana
Можете ли вы создать свойство, представляющее текущую выбранную строку, а затем проверить, является ли выбранная строка одинаковой или нет? – dursk
На самом деле существует свойство для текущей выбранной строки, которая является dgv.CurrentRow проблема заключается в том, как проверить только что выбранную строку. Во-вторых, CurrentRow имеет тип DataGridViewRow, который не может быть преобразован в тип int, и поэтому я получаю ошибку при попытке сравнить ее с любым int. –
DataGridViewRow имеет свойство Index, поэтому это будет dgv.CurrentRow.Index. MSDN: http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewrow_properties%28v=vs.110%29.aspx – dursk