c# Winform GridControl 给列自动生成快捷操作按钮
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了c# Winform GridControl 给列自动生成快捷操作按钮,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3280字,纯文字阅读大概需要5分钟。
内容图文
话不多说直接上代码:
using DevExpress.XtraEditors.Controls; using DevExpress.XtraEditors.Repository; using DevExpress.XtraGrid; using DevExpress.XtraGrid.Columns; using DevExpress.XtraGrid.Views.Grid; using System; using System.Collections.Generic; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public class AddShortcutButton { public static void Add(Control ctl, GridControl gctl, GridView gv) { RepositoryItemButtonEdit btnEdit = new RepositoryItemButtonEdit(); BeginInit(ctl, gctl, gv, btnEdit, true); btnEdit.Name = "ribtnOperationButton"; btnEdit.TextEditStyle = DevExpress.XtraEditors.Controls.TextEditStyles.HideTextEditor; btnEdit.ButtonClick += new DevExpress.XtraEditors.Controls.ButtonPressedEventHandler(btn_ButtonClick); GenerateButton(btnEdit, "病历查阅"); GenerateButton(btnEdit, "护理病历"); GenerateButton(btnEdit, "临床数据"); GridColumn column = new GridColumn(); column.Caption = "快捷操作"; column.Visible = true; column.ColumnEdit = btnEdit; gv.Columns.Add(column); gctl.RepositoryItems.Add(btnEdit); BeginInit(ctl, gctl, gv, btnEdit, false); } static void GenerateButton(RepositoryItemButtonEdit btnEdit, string captionName) { EditorButton btn = new EditorButton(); btn.Kind = ButtonPredefines.Glyph; btn.Caption = captionName; btn.Tag = btn.Caption; btn.ToolTip = btn.Caption; btn.Appearance.ForeColor = Color.Blue; btnEdit.Buttons.Add(btn); } static void BeginInit(Control ctl, GridControl gctl, GridView gv, RepositoryItemButtonEdit btnEdit, bool IsBeg) { if (IsBeg) { ((System.ComponentModel.ISupportInitialize)(gctl)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(gv)).BeginInit(); ((System.ComponentModel.ISupportInitialize)(btnEdit)).BeginInit(); ctl.SuspendLayout(); } else { ((System.ComponentModel.ISupportInitialize)(gctl)).EndInit(); ((System.ComponentModel.ISupportInitialize)(gv)).EndInit(); ((System.ComponentModel.ISupportInitialize)(btnEdit)).EndInit(); ctl.ResumeLayout(false); } } private static void btn_ButtonClick(object sender, DevExpress.XtraEditors.Controls.ButtonPressedEventArgs e) { MessageBox.Show(e.Button.Caption); // OpenOperationButton(e.Button.Caption); } } }
窗体代码如下:
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace WindowsFormsApplication1 { public partial class GridControlAddShortcutButtonForm : Form { public GridControlAddShortcutButtonForm() { InitializeComponent(); List<TestDemo> list = new List<TestDemo>(); for (int i = 0; i < 100; i++) { list.Add(new TestDemo() { Id = Guid.NewGuid().ToString("N") }); } gridControl1.DataSource = list; gridControl2.DataSource = list; AddShortcutButton.Add(this, gridControl1, gridView1); AddShortcutButton.Add(this, gridControl2, gridView2); } } public class TestDemo { public string Id { get; set; } } }
效果图如下:
界面添加方法如下:
gridcontrol中添加按钮的步骤:
1. 把列的ColumnEdit属性设置为RepositoryItemButtonEdit
2. 把TextEditStyle属性设置为HideTextEditor;
3. 把Buttons的Kind属性设置为Glyph;
4. 把Buttons的HorzAlignment属性设置为Center;
添加事件:
有时可能遇到增加的单击事件,不能触发。
原因:设置了GridControl了Editable为false!
设置为true后,双击触发。
如果数据"不可编辑",在"列"的OptionsColumn的AllowEdit中设置就可以了。
内容总结
以上是互联网集市为您收集整理的c# Winform GridControl 给列自动生成快捷操作按钮全部内容,希望文章能够帮你解决c# Winform GridControl 给列自动生成快捷操作按钮所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。