[英]DevExpress XtraGrid - ImageButton in each row
我想为每一行添加一个自定义方法,即一个打开的详细信息表单,显示单击该按钮的网格行的详细信息。
那有什么简单的解决方案吗?
编辑:
我的代码设置按钮样式有什么问题?
Image img = imageList1.Images[5];
repositoryItemButtonEdit1.Buttons.Clear();
repositoryItemButtonEdit1.Buttons.Add(new EditorButton(ButtonPredefines.Left, "View Filter", 16, true, true, true, ImageLocation.Default, img));
repositoryItemButtonEdit1.ButtonPressed += new ButtonPressedEventHandler(repositoryItemButtonEdit1_ButtonPressed);
答案(使用雕文)
Image img = imageList1.Images[5];
repositoryItemButtonEdit1.Buttons.Clear();
repositoryItemButtonEdit1.Buttons.Add(
new EditorButton(
ButtonPredefines.Glyph,
"",
16,
true,
true,
true,
ImageLocation.Default,
img
)
);
repositoryItemButtonEdit1.ButtonPressed += newButtonPressedEventHandler(repositoryItemButtonEdit1_ButtonPressed);
最简单的方法是添加RepositoryItemButtonEdit
作为列的ColumnEdit
。
确保将RepositoryItemButtonEdit的TextEdit
属性设置为hidden,并配置buttons属性以使其具有图像按钮。
然后处理存储库项的ButtonPressed Event
。
一个简单的事件处理程序可能看起来像:
C#
private void RepositoryItemButtonEdit1_Click(object sender, System.EventArgs e)
{
WhateverClass MyData = (WhateverClass)GridView1.GetFocusedRow();
Form1 frmEdit = new Form1(MyData);
frmEdit.Show();
}
vb.net
Private Sub RepositoryItemButtonEdit1_Click(sender As Object, e As System.EventArgs) Handles RepositoryItemButtonEdit1.Click
Dim MyData As WhateverClass= CType(GridView1.GetFocusedRow(), WhateverClass)
Dim frmEdit As New Form1(MyData)
frmEdit.Show()
End Sub
只是对上面答案的一些补充,因为我之前遇到过类似的问题。
希望它也会有所帮助。
此致,佐尔坦
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.