DEVEXPRESS GRIDVIEW 代码添加按钮(转)
https://www.cnblogs.com/qq-xiao/p/6122573.html
1.1 创建一个RepositoryItemButtonEdit方法
1 private RepositoryItemButtonEdit CreateRepositoryItemButtonEdit(Dictionary<object, string> dicButtons) 2 { 3 RepositoryItemButtonEdit repositoryBtn = new RepositoryItemButtonEdit(); 4 repositoryBtn.AppearanceDisabled.Options.UseTextOptions = true; 5 repositoryBtn.AppearanceDisabled.TextOptions.HAlignment = HorzAlignment.Near; 6 repositoryBtn.AutoHeight = false; 7 repositoryBtn.TextEditStyle = TextEditStyles.HideTextEditor; 8 repositoryBtn.ButtonsStyle = BorderStyles.UltraFlat; 9 repositoryBtn.Buttons.Clear(); 10 EditorButton btn = null; 11 foreach (KeyValuePair<object, string> item in dicButtons) 12 { 13 btn = new EditorButton(); 14 btn.Kind = ButtonPredefines.Glyph; 15 btn.Caption = item.Value; 16 btn.Tag = item.Key; 17 repositoryBtn.Buttons.Add(btn); 18 } 19 return repositoryBtn; 20 }
1.2 开始调用
1 Dictionary<object, string> dicButtons = new Dictionary<object, string>(); 2 dicButtons.Add("delete", "删除"); 3 dicButtons.Add("download", "下载"); 4 RepositoryItemButtonEdit ribeFile = CreateRepositoryItemButtonEdit(dicButtons); 5 //ribeFile.ButtonClick += ribeFile_ButtonClick; //绑定事件 6 gcData.RepositoryItems.Add(ribeFile); 7 this.Operate.ColumnEdit = ribeFile;
效果如下:
2.另外一种方式
1 RepositoryItemButtonEdit rBtnEdit = new RepositoryItemButtonEdit(); 2 rBtnEdit.Buttons.Clear(); 3 rBtnEdit.TextEditStyle = TextEditStyles.DisableTextEditor; 4 rBtnEdit.ButtonsStyle = BorderStyles.Default; 5 rBtnEdit.Appearance.BackColor = this.ReceivableDate.AppearanceCell.BackColor; 6 rBtnEdit.ButtonClick += rBtnEdit_ButtonClick;//绑定事件 7 EditorButton btnSet = new EditorButton(); 8 btnSet.Tag = "set"; 9 btnSet.Kind = ButtonPredefines.Glyph; 10 btnSet.ToolTip = "设置延迟日期"; 11 btnSet.Caption = "设置"; 12 rBtnEdit.Buttons.Add(btnSet); 13 gcData.RepositoryItems.Add(rBtnEdit); 14 this.ReceivableDate.ColumnEdit = rBtnEdit;
效果如下:
3.1 创建一个RepositoryItemPopupContainerEdit
1 protected virtual RepositoryItemPopupContainerEdit CreateRepositoryItemPopupContainerEdit(string caption) 2 { 3 RepositoryItemPopupContainerEdit repositoryPop = new RepositoryItemPopupContainerEdit(); 4 //repositoryCalc.AutoHeight = false; 5 repositoryPop.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near; 6 return repositoryPop; 7 }
3.2 开始调用
1 //添加按钮 2 EditorButton edit = new EditorButton(); 3 edit.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Plus; 4 edit.ToolTip = "添加";//提示 5 edit.Tag = "add"; 6 7 RepositoryItemPopupContainerEdit ripce = CreateRepositoryItemPopupContainerEdit("标签"); 8 ripce.PopupControl = this.popTags; //popupContainerControl控件 9 ripce.QueryPopUp += ripce_QueryPopUp; //弹出控制事件 10 ripce.QueryResultValue += ripce_QueryResultValue; //返回值事件 11 ripce.Buttons.Add(edit); 12 ripce.ButtonClick += ripce_ButtonClick; //添加按钮事件 13 gcFile.RepositoryItems.Add(ripce); 14 this.TagName.ColumnEdit = ripce; //TagName是GridView的gridColumn列
效果如下:
4.1 创建一个RepositoryItemHyperLinkEdit
1 protected virtual RepositoryItemHyperLinkEdit CreateRepositoryItemHyperLinkEdit(string caption) 2 { 3 RepositoryItemHyperLinkEdit link = new RepositoryItemHyperLinkEdit(); 4 link.AutoHeight = false; 5 link.TextEditStyle = TextEditStyles.Standard; 6 link.ReadOnly = true; 7 link.SingleClick = true; 8 return link; 9 }
4.2 开始调用
1 RepositoryItemHyperLinkEdit linkSalesMoney = CreateRepositoryItemHyperLinkEdit("销售金额"); 2 linkSalesMoney.OpenLink += new OpenLinkEventHandler(linkSalesMoney_OpenLink); //事件 3 this.SalesMoney.ColumnEdit = linkSalesMoney; //绑定
效果如下: