14

このコードはC#プログラムにありますが、DataGridViewで行が選択されていないため(ClearSelectionメソッドを使用)、一部のボタンがクリックされるとフィットがスローされます。

string selectedUser = usersGrid.SelectedRows[0].Cells[1].Value.ToString();

行が選択されていることを確認するために、上記の行の前に実行できる何らかのチェックはありますか?

4

2 に答える 2

34
if (usersGrid.SelectedRows.Count > 0)
于 2012-09-14T22:17:21.773 に答える
7

私はあなたがやろうとしていると思うことを突き刺すつもりです、これを以下で試してください

private void myButton_Click(object sender, EventArgs e)
{
    foreach (DataGridViewRow row in usersGrid.Rows)
    {
        if (this.usersGrid.SelectedRows.Count == 1)
        {
         // get information of 1st column from the row
         string selectedUser = this.usersGrid.SelectedRows[0].Cells[0].ToString();
        }
    }
}

また、次のことも行い、リンクをチェックアウトしてください

DataGridView.MultiSelect =falseおよびDataGridView.SelectionMode =FullRowSelectを設定します。これにより、ユーザーは一度に1つの行しか選択できなくなります。

于 2012-09-14T22:18:14.877 に答える