gpt4 book ai didi

c# - 如何在 Windows 应用程序中已绑定(bind)的 datagridview 的每一行列中添加按钮?

转载 作者:太空宇宙 更新时间:2023-11-03 22:25:58 25 4
gpt4 key购买 nike

我想向已绑定(bind)的数据 GridView 的每一列的每一行添加一个按钮,并向其添加一个事件(在 VS 2005 中,Windows 应用程序)。

我进行了很多搜索,但未能找到可行的解决方案。

最佳答案

绑定(bind)到数据源集之前:

grd.AutoGenerateColumns = false;

自己创建所有 DataGridView 列并将它们绑定(bind)到数据源:

DataGridViewTextBoxColumn dgvc = new DataGridViewTextBoxColumn();
dgvc.HeaderText = "column_header";
dgvc.DataPropertyName = "column_name";

创建一个 DataGridViewButtonColumn。

DataGridViewButtonColumn dgvbt = new DataGridViewButtonColumn();            

如果不希望此列绑定(bind),请设置标题文本,所有按钮上的文本相同:

dgvbt.HeaderText = "OK?";
dgvbt.Text = "ok"; // works also when bound
dgvbt.UseColumnTextForButtonValue = true; //

如果您希望您的列也有界并且每个按钮都有底层单元格的文本,请绑定(bind)它:

dgvbt.DataPropertyName = "column_bt";

将创建的列添加到 DataGridView:

grd.Columns.Add(dgvc);
grd.Columns.Add(dgvbt);

处理 DataGridView 的 CellClick 事件:

grd.CellClick += new DataGridViewCellEventHandler(grd_CellClick);


void grd_CellClick(object sender, DataGridViewCellEventArgs e)
{
if (e.RowIndex >= 0 && e.ColumnIndex == index_of_button_column)
{
MessageBox.Show(this, e.RowIndex.ToString() + " Clicked!");
//...
}
}

更多信息,请参见:

http://msdn.microsoft.com/en-us/library/system.windows.forms.datagridviewbuttoncolumn.aspx

关于c# - 如何在 Windows 应用程序中已绑定(bind)的 datagridview 的每一行列中添加按钮?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1410070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com