繁体   English   中英

在WinForms中,如何在DevExpress GridControl中创建删除按钮?

[英]In WinForms, how can I create a delete button in a DevExpress GridControl?

我正在尝试在DevExpress GridControl中每一行的右侧创建一个删除按钮,如下所示:

在此处输入图片说明

我所做的是添加了另一列,并将其ColumnEdit属性设置为RepositoryItemButtonEdit的实例。 我处理ButtonClick事件,以删除一行。

我可以从以下代码确定我所在的行:

myGridView.GetRow(myGridView.FocusedRowHandle);

因为我不想在按钮上使用文本编辑器,所以将TextEditStyle设置为HideTextEditor。

默认情况下,该按钮显示省略号。

为了删除省略号,我调整了RepositoryItemButtonEdit上的Buttons属性。 我将种类设置为字形,并将图像设置为我的X图标。

不幸的是,这似乎只是完全删除了按钮。

有谁知道在每个网格行中执行此操作的更好方法,或显示带有图像的按钮的方法?

我发现实际上有一种删除按钮。 因此,我按照问题进行了所有操作,但我选择了“删除”,而不是选择字形,而无需选择图像。

我总结了在DevExpress论坛中发现的内容:

使用ButtonEdit控件并将TextEditStyle属性设置为HideTextEditor Repository Item具有一个Buttons集合,通过它可以添加标题,图像等。

在“ Buttons集合中,将“种类”属性更改为“字形”。 您可以使用CustomRowCellEdit事件有条件地逐个单元地应用编辑器。 确保将“按钮的Kind属性设置为“字形”,并将“ Caption属性设置为所需的任何文本:

DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit buttonEdit = 
    new DevExpress.XtraEditors.Repository.RepositoryItemButtonEdit();
buttonEdit.Buttons[0].Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Glyph;
buttonEdit.Buttons[0].Caption = "X";
buttonEdit.TextEditStyle =             
    DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor;
e.RepositoryItem = buttonEdit;

您应该处理GridView的CustomRowCellEdit事件,构造一个新的RepositoryItemButtonEdit并将其分配给e.RepositoryItem property

让我知道是否可行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM