DataTable dt = new DataTable();
dt.Columns.Add(new DataColumn("Software Title", typeof(string)));
dt.Columns.Add(new DataColumn("Version", typeof(string)));
dt.Columns.Add(new DataColumn("Uninstall", typeof(System.Windows.Forms.Button)));
DataRow dr = dt.NewRow();
dr[0] = "App";
dr[1] = "1.0";
Button uninstall = new Button();
uninstall.Text = "Uninstall";
dr[2] = uninstall;
dt.Rows.Add(dr);
dataGridViewSoftware.DataSource = dt;
文本出现但按钮从未出现。
最佳答案
假设您在 Windows 窗体中,您需要将 DataGridViewButtonColumn
添加到您的 DataGridView
- 而不是直接添加到 DataTable
。
这应该发生在您将 DataTable
绑定(bind)到 DataGridView
之后的某处。
像这样的东西应该可以工作:
DataGridViewButtonColumn uninstallButtonColumn = new DataGridViewButtonColumn();
uninstallButtonColumn.Name = "uninstall_column";
uninstallButtonColumn.Text = "Uninstall";
int columnIndex = 2;
if (dataGridViewSoftware.Columns["uninstall_column"] == null)
{
dataGridViewSoftware.Columns.Insert(columnIndex, uninstallButtonColumn);
}
当然,您必须处理网格的 CellClick
事件才能对按钮执行任何操作。
将此添加到您的 DataGridView 初始化代码中的某处
dataGridViewSoftware.CellClick += dataGridViewSoftware_CellClick;
然后创建处理程序:
private void dataGridViewSoftware_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.ColumnIndex == dataGridViewSoftware.Columns["uninstall_column"].Index)
{
//Do something with your button.
}
}
关于c# - 如何将按钮添加到 DataGridView 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21191950/