0

チェックボックスがチェックされている行の値を取得したい。私は C# Windows フォームが初めてで、これまでのところ成功していません。最終的にこれらの行の値を使用したいので、ユーザーが複数の行を選択した場合、チェックされた行の値を取得する必要があります。また、選択モードを「fullrowselect」に設定しました

コードの変更を提案してください

private void button1_Click(object sender, EventArgs e)
{
    StringBuilder ln = new StringBuilder();
    dataGridView1.ClearSelection();
    foreach (DataGridViewRow row in dataGridView1.Rows)
    {
        if (dataGridView1.SelectedRows.Count>0 )
        {                    
            ln.Append(row.Cells[1].Value.ToString());
        }
        else
        {
            MessageBox.Show("No row is selected!");
            break;                    
        }
    }
    MessageBox.Show("Row Content -" + ln);
}
4

3 に答える 3

0

これはあなたが望むかもしれないコードのバージョンです..しかし、選択した行について話しているが、行を処理する前に選択をクリアしているため、わかりにくいです!

それは意味がありません..多分あなたはチェックされた行を意味しますか?わかりました。では、どうぞ:

  private void button1_Click(object sender, EventArgs e)
  {
      StringBuilder ln = new StringBuilder();
      dataGridView1.ClearSelection();
      foreach (DataGridViewRow row in dataGridView1.Rows)
      {
          if (((bool?)row.Cells[0].Value) == true)
          {
               ln.Append(row.Cells[1].FormattedValue);
          }
      }
      if (ln.Length <= 0) MessageBox.Show("No rows are checked!");
      else MessageBox.Show("Rows content: " + ln);
 }
于 2015-05-18T17:15:51.740 に答える