我有DataGridView
来自数据库的已加载元素
问题是我想在某些行中显示一个按钮(某些元素需要此按钮,而其他一些元素则不需要),我不知道如何。
我现在唯一能做的就是这个代码显示一个'删除'按钮,但是对于每一行。
DataGridViewButtonColumn btnDelete = new DataGridViewButtonColumn();
dataGridView.Columns.Add(btnDelete);
btnDelete.Text = "Delete";
btnDelete.UseColumnTextForButtonValue = true;
感谢您的帮助!
答案 0 :(得分:0)
您可以通过将DataGridViewButtonCells插入到您想要按钮的单元格中来完成此操作。
例如:
var cell = new DataGridViewButtonCell();
cell.Value = "Button text"
cell.Style.Alignment = DataGridViewContentAlignment.MiddleCenter;
dataGrid.Rows[rowIndex].Cells[columnIndex] = cell;
该列不需要是按钮列,例如,它可以是文本框列。
或者你可以走另一条路,做一个按钮栏,然后:
for (int i = 0; i < dataGrid.Rows.Count; i++)
if (i % 2 == 1) // whatever the condition is
dataGrid.Rows[i].Cells[COLUMN_WITH_BUTTONS] = new DataGridViewTextBoxCell();
您还可以创建一个自定义数据网格列和单元格类型(从最接近您需要的那些继承),它具有控制单元格中显示内容的标记(您添加)。
您无需立即对整个网格执行此操作 - 您可以随时更改网格。例如,您可以创建一个将单元格设置为适当类型的函数,然后在发生某些事件时调用它(在事件处理程序中等)。