DatagridViewButtonColumn с разным текстом и разной функциональностью для разных строк

Мне нужно создать datagidview в winforms. Он имеет столбец кнопки Datagridview и несколько других столбцов. Столбец Datagridviewbutton должен изначально отображать текст «Загрузить», и при нажатии на него должно открываться место для хранения файлов. После загрузки файла текст столбца кнопки Datagridview должен стать «Просмотр файла», и при нажатии на него должен открыться файл. Краткое представление о том, как это можно сделать, будет полезно.

Снимок того, как это должно выглядеть


person KopMaverick    schedule 01.04.2016    source источник
comment
Каково ваше усилие?   -  person timblistic    schedule 01.04.2016
comment
Можете ли вы показать код того, что вы пробовали?   -  person nbadaud    schedule 01.04.2016
comment
Чтобы отобразить другой текст, обработайте CellFormatting и установите e.value на основе вашей логики. Чтобы запускать различные функции, когда пользователь щелкает ячейку, обработайте CellContentClick и проверьте, какую функцию вы хотите запустить.   -  person Reza Aghaei    schedule 01.04.2016


Ответы (1)


Другой текст для кнопок

Различные функции кнопок

В обоих случаях

  • Сначала проверьте, запускается ли событие для ячейки данных, а не для ячейки заголовка, проверьте, что e.ColumnIndex и e.RowIndex должны быть больше, чем -1

  • Затем проверьте, запускается ли событие для нужного столбца, например, чтобы проверить, относится ли событие к столбцу с индексом 0, e.ColumnIndex должно быть равно 0

  • Чтобы получить значение другого столбца в той же строке, например столбца с индексом 2, просто используйте dataGridView1.Rows(e.RowIndex).Cells(2).Value. Таким образом, вы можете принять решение о тексте или о коде, который хотите запустить, на основе значений других столбцов.

person Reza Aghaei    schedule 01.04.2016
comment
Кажется, пост отвечает на ваш вопрос, дайте мне знать, если у вас возникнут проблемы с применением решения или если вы найдете его полезным :) - person Reza Aghaei; 27.03.2017