记:实际项目中遇到,害怕自己忘记,做个记录
主要代码:
private RepositoryItemButtonEdit riButtonEdit = new RepositoryItemButtonEdit(); //编辑按钮列
/// <summary>
/// 绑定操作列
/// </summary>
/// <param name="btnnames">操作列按钮的集合</param>
private void BindOperateColum(List<String[]> btnnames)
{
//清除原来的按钮
riButtonEdit.Buttons.Clear();
//绑定操作列,加一个按钮
foreach (String[] item in btnnames)
{
EditorButton bt1 = new EditorButton();
bt1.Kind = ButtonPredefines.Glyph;
bt1.Caption = item[0];//显示的标题
bt1.ToolTip = item[1];//提示的文字
bt1.IsLeft = true;
bt1.Width = 100;
bt1.ImageLocation = DevExpress.XtraEditors.ImageLocation.MiddleLeft;
bt1.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Center;
bt1.Appearance.Font = new System.Drawing.Font("微软雅黑", 9F, System.Drawing.FontStyle.Underline, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
riButtonEdit.Buttons.Add(bt1);
}
riButtonEdit.ButtonClick += new ButtonPressedEventHandler(riButtonEdit_ButtonClick);
riButtonEdit.ButtonsStyle = BorderStyles.Simple;
riButtonEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
//添加操作列
GridColumn col = CreateNormalCol("操作", "operate"); col.ColumnEdit = riButtonEdit;
col.ShowButtonMode = DevExpress.XtraGrid.Views.Base.ShowButtonModeEnum.ShowAlways;
col.OptionsColumn.AllowEdit = true;
col.MaxWidth = riButtonEdit.Buttons.Count * 100+20;
col.Width = col.MaxWidth;
gd_data.RepositoryItems.Add(riButtonEdit); gv_data.Columns.Add(col);
}
/// <summary>
/// 按钮点击操作
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void riButtonEdit_ButtonClick(object sender, ButtonPressedEventArgs e)
{
Object obj = this.gv_data.GetFocusedRow();//行数据
switch (e.Button.Caption)
{
case "修改":break; case "删除":break; case "审核":break;
}
}