私はウィンドウ DataGridView を使用しています。このグリッドでは、複数の行を選択できました。
私がチェックしているときdataGridView1.SelectedRows[0].Index
、最後に選択された行のインデックスを与えています。選択が開始された行(開始行)から欲しいだけです。
私はウィンドウ DataGridView を使用しています。このグリッドでは、複数の行を選択できました。
私がチェックしているときdataGridView1.SelectedRows[0].Index
、最後に選択された行のインデックスを与えています。選択が開始された行(開始行)から欲しいだけです。
このコードで試すことができます
Int32 selectedRowCount =
dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
dataGridView1.SelectedRows[selectedRowCount - 1 ].Index.ToString();
foreach ループを使用して、最も低いインデックス付きの行を確認できます。行を選択すると、SelectedRows コレクションの行が順番に追加されるためです。
ここに完全な foreach ループがあります..
int i=int.MaxValue;
foreach (DataGridViewRow rw in dataGridView1.SelectedRows)
{
if (rw.Index < i)
{
i = rw.Index;
}
}
DataGridViewRow r = dataGridView1.Rows[i];
インデックスが最も低い選択された行が返されます。
次のようなもので試すことができます
dataGridView1.SelectedRows[dataGridView1.SelectedRows.Count - 1].Index
しかし、私の観点からは、 の選択順序はSelectedRows
とにかく信頼できるものではありません。私の知る限り、ドキュメントには特定の順序が指定されていません...アプリケーションにとって重要な場合は、自分で何かを行う必要があります。