-2

私はウィンドウ DataGridView を使用しています。このグリッドでは、複数の行を選択できました。

私がチェックしているときdataGridView1.SelectedRows[0].Index、最後に選択された行のインデックスを与えています。選択が開始された行(開始行)から欲しいだけです。

4

3 に答える 3

1

このコードで試すことができます

Int32 selectedRowCount = 
        dataGridView1.Rows.GetRowCount(DataGridViewElementStates.Selected);
dataGridView1.SelectedRows[selectedRowCount - 1 ].Index.ToString();
于 2012-09-07T12:37:57.647 に答える
1

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];

インデックスが最も低い選択された行が返されます。

于 2012-09-07T13:19:35.937 に答える
0

次のようなもので試すことができます

dataGridView1.SelectedRows[dataGridView1.SelectedRows.Count - 1].Index

しかし、私の観点からは、 の選択順序はSelectedRowsとにかく信頼できるものではありません。私の知る限り、ドキュメントには特定の順序が指定されていません...アプリケーションにとって重要な場合は、自分で何かを行う必要があります。

于 2012-09-07T12:42:13.897 に答える