Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在运行时将未绑定列添加到gridview并删除按钮?_C#_Winforms_Gridview_Devexpress - Fatal编程技术网

C# 如何在运行时将未绑定列添加到gridview并删除按钮?

C# 如何在运行时将未绑定列添加到gridview并删除按钮?,c#,winforms,gridview,devexpress,C#,Winforms,Gridview,Devexpress,我有gridview,可以在运行时填充数据。如何在运行时向该gridview添加未绑定的列。之后,我需要添加一个delete按钮,并对未绑定的列进行lookupedit。最后,如何在特定的lookupedit和delete按钮上写入事件?您可以通过以下方式向datagridview添加列: dataGridView.Columns.Add(new DataGridViewColumnType(), "SomeName"); 为了在运行时添加删除按钮,您只需要在窗体上有一个按钮,该按钮在窗体加载

我有gridview,可以在运行时填充数据。如何在运行时向该gridview添加未绑定的列。之后,我需要添加一个delete按钮,并对未绑定的列进行lookupedit。最后,如何在特定的lookupedit和delete按钮上写入事件?

您可以通过以下方式向datagridview添加列:

dataGridView.Columns.Add(new DataGridViewColumnType(), "SomeName");
为了在运行时添加删除按钮,您只需要在窗体上有一个按钮,该按钮在窗体加载时被禁用,您可以使用以下代码在加载时禁用它:

this.btnDelete.Enabled = false;
要在运行时启用它,请执行以下操作:

this.btnDelete.Enabled = true;
对于查找编辑,您也可以执行相同的操作。要在这些上添加事件,您只需在运行程序之前对事件进行编码,然后在发生事件时调用它们


如果这不合理,请告诉我。

以下是在运行时为datagridview创建列的示例:

grdExpressions.SuspendLayout();
grdExpressions.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.Fill;

DataGridViewCheckBoxColumn enabledColumn = new DataGridViewCheckBoxColumn();
enabledColumn.Name = "columnEnabled";
enabledColumn.HeaderText = "EN";
enabledColumn.FillWeight = 1;
enabledColumn.MinimumWidth = 30;
grdExpressions.Columns.Add(enabledColumn);

grdExpressions.ResumeLayout(false);
grdExpressions.PerformLayout();
基本上,首先创建一个
DataGridView(复选框| TextBox |等)列。无论您想要哪种类型的列。如果lookupedit指的是同一列中的文本框和按钮,则标准datagridview中没有此类列。但是,您可以在其前面添加一个
按钮cell
和一个文本。还有一些用户控件可以做到这一点

例如,为了在我提供的代码中的复选框列上写入事件,您需要处理datagridview的
CellClick
。或者,如果要处理添加的
ButtonCell
的按钮单击,请再次处理
CellClick
,并检查单击了哪个列并相应地执行操作

为了处理文本框列的
TextChanged
,需要处理datagridview的
CellEndEdit
。基本上,您必须使用datagridview的事件与所有这些不同类型的事件进行交互,然后使用传递的事件参数检测单击发生的列,并相应地采取行动