2014-10-31 5 views
1

Я пытаюсь добавить две кнопки в строки, имеющие значение 2, но эти кнопки отображаются только в отношении dataGridView.Добавление кнопок в отношении строки

Если я не укажу их в определенном месте, они появятся в верхней части dataGridView, и когда я укажу им конкретное местоположение, они все равно появятся в отношении dataGridView.

Как я могу заставить их отображаться в отношении каждой строки, которая имеет значение 2?

Я хочу, чтобы кнопки отображались внизу или внутри этой конкретной строки. Я долго искал ответ, и ничего не могу найти.

Button buttonOk = new Button() { Width = 100, Height = 50 }; 
Button buttonCancel = new Button() { Width = 100, Height = 50 }; 

    public void method1(DataGridView dataGridView1) 
    { 
     foreach (DataGridViewRow row in dataGridView1.Rows) 
     { 

      if ((string)row.Cells[2].Value == ("1")) 
      { 
       row.DefaultCellStyle.ForeColor = Color.Green; 
      } 

      else if ((string)row.Cells[2].Value == ("2")) 
      { 
       row.DefaultCellStyle.ForeColor = Color.Blue; 
       dataGridView1.Controls.Add(buttonOk); 
       dataGridView1.Controls.Add(buttonCancel); 
       //buttonOk.Location = new Point(00, 74); 
      } 
      else if ((string)row.Cells[2].Value == ("3")) 
      { 
       //do something 
      } 
     } 
    } 

ответ

1

Вы не можете добавить кнопки в DataGridView. Однако вы можете определить столбец как DataGridViewButtonColumn. Конечно, проблема в том, что кнопка будет отображаться во всех строках. Вы можете реализовать пользовательский DataGridViewButtonColumn, как показано в этом MSDN thread. С помощью пользовательского столбца кнопки вы можете скрыть кнопки по желанию.

+0

Это похоже на хорошую альтернативу этой проблеме. Ty MikeH – Andre

Смежные вопросы