私はTabPage上にDataGridViewを持っています。ユーザーが行をクリックすると、2番目の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です。問題は、新しく選択した行をチェックする方法です。第2に、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