首页 > 其他分享 >GridControl手动添加控件

GridControl手动添加控件

时间:2023-04-14 10:13:44浏览次数:55  
标签:控件 手动 ripce Add RepositoryItemButtonEdit repositoryBtn rBtnEdit new GridControl

1、效果

private  RepositoryItemButtonEdit CreateRepositoryItemButtonEdit(Dictionary<object, string> dicButtons)
        {
            RepositoryItemButtonEdit repositoryBtn = new RepositoryItemButtonEdit();
            repositoryBtn.AppearanceDisabled.Options.UseTextOptions = true;
            repositoryBtn.AppearanceDisabled.TextOptions.HAlignment = HorzAlignment.Near;
            repositoryBtn.AutoHeight = false;
            repositoryBtn.TextEditStyle = TextEditStyles.HideTextEditor;
            repositoryBtn.ButtonsStyle = BorderStyles.UltraFlat;
            repositoryBtn.Buttons.Clear();
            EditorButton btn = null;
            foreach (KeyValuePair<object, string> item in dicButtons)
            {
                btn = new EditorButton();
                btn.Kind = ButtonPredefines.Glyph;
                btn.Caption = item.Value;
                btn.Tag = item.Key;
                repositoryBtn.Buttons.Add(btn);
            }
            return repositoryBtn;
        }

调用

Dictionary<object, string> dicButtons = new Dictionary<object, string>();
            dicButtons.Add("delete", "删除");
            dicButtons.Add("download", "下载");
            RepositoryItemButtonEdit ribeFile = CreateRepositoryItemButtonEdit(dicButtons);
            //ribeFile.ButtonClick += ribeFile_ButtonClick;   //绑定事件
            gcData.RepositoryItems.Add(ribeFile);
            this.Operate.ColumnEdit = ribeFile;

2、效果

 

protected virtual RepositoryItemPopupContainerEdit CreateRepositoryItemPopupContainerEdit(string caption)
        {
            RepositoryItemPopupContainerEdit repositoryPop = new RepositoryItemPopupContainerEdit();
            //repositoryCalc.AutoHeight = false;
            repositoryPop.Appearance.TextOptions.HAlignment = DevExpress.Utils.HorzAlignment.Near;
            return repositoryPop;
        }

调用

//添加按钮
            EditorButton edit = new EditorButton();
            edit.Kind = DevExpress.XtraEditors.Controls.ButtonPredefines.Plus;
            edit.ToolTip = "添加";//提示
            edit.Tag = "add";

            RepositoryItemPopupContainerEdit ripce = CreateRepositoryItemPopupContainerEdit("标签");
            ripce.PopupControl = this.popTags;            //popupContainerControl控件
            ripce.QueryPopUp += ripce_QueryPopUp;  //弹出控制事件
            ripce.QueryResultValue += ripce_QueryResultValue;     //返回值事件
            ripce.Buttons.Add(edit);
            ripce.ButtonClick += ripce_ButtonClick;   //添加按钮事件
            gcFile.RepositoryItems.Add(ripce);
            this.TagName.ColumnEdit = ripce;   //TagName是GridView的gridColumn列

 

3、效果  效果1的另一种方式

RepositoryItemButtonEdit rBtnEdit = new RepositoryItemButtonEdit();
            rBtnEdit.Buttons.Clear();
            rBtnEdit.TextEditStyle = TextEditStyles.DisableTextEditor;
            rBtnEdit.ButtonsStyle = BorderStyles.Default;
            rBtnEdit.Appearance.BackColor = this.ReceivableDate.AppearanceCell.BackColor;
            rBtnEdit.ButtonClick += rBtnEdit_ButtonClick;//绑定事件
            EditorButton btnSet = new EditorButton();
            btnSet.Tag = "set";
            btnSet.Kind = ButtonPredefines.Glyph;
            btnSet.ToolTip = "设置延迟日期";
            btnSet.Caption = "设置";
            rBtnEdit.Buttons.Add(btnSet);
            gcData.RepositoryItems.Add(rBtnEdit);
            this.ReceivableDate.ColumnEdit = rBtnEdit;

4、效果

protected virtual RepositoryItemHyperLinkEdit CreateRepositoryItemHyperLinkEdit(string caption)
        {
            RepositoryItemHyperLinkEdit link = new RepositoryItemHyperLinkEdit();
            link.AutoHeight = false;
            link.TextEditStyle = TextEditStyles.Standard;
            link.ReadOnly = true;
            link.SingleClick = true;
            return link;
        }

调用

RepositoryItemHyperLinkEdit linkSalesMoney = CreateRepositoryItemHyperLinkEdit("销售金额");
2             linkSalesMoney.OpenLink += new OpenLinkEventHandler(linkSalesMoney_OpenLink);  //事件
3             this.SalesMoney.ColumnEdit = linkSalesMoney;  //绑定

 

标签:控件,手动,ripce,Add,RepositoryItemButtonEdit,repositoryBtn,rBtnEdit,new,GridControl
From: https://www.cnblogs.com/skyhorseyk/p/17317422.html

相关文章

  • 界面控件DevExtreme使用指南 - 折叠组件快速入门(一)
    DevExtreme拥有高性能的HTML5/JavaScript小部件集合,使您可以利用现代Web开发堆栈(包括React,Angular,ASP.NETCore,jQuery,Knockout等)构建交互式的Web应用程序,该套件附带功能齐全的数据网格、交互式图表小部件、数据编辑器等。请注意:在开始本教程之前,请确保DevExtreme已安装在Angula......
  • wpf使用propertygrid控件
    1.首先在引用里右键管理NuGet程序包查找extendedwpftoolkit并安装2.    引用DLL  xmlns:extoolkit="http://schemas.xceed.com/wpf/xaml/toolkit"3.<extoolkit:PropertyGridName="PropertyGrid1"Margin="0,45,-0.333,-0.333"></extoolkit......
  • wpf使用winform控件
    一、添加引用WindowsFormsIntegration.dll(负责整合WPF和Windows)System.Windows.Forms.dll(WinForm自带的控件库)提示:这两个引用都是在程序集中可以直接找到的ControlLib_k.dll(自定义的控件库)二、在要使用WinForm控件的WPF窗体的XAML文件中添加如下内容:xmlns是XML_Namespac......
  • 栈空间和堆控件:JS数据怎么存储的?
    JS数据存储主要分堆和栈两种,栈空间:通常情况栈空间不会设置太大,主要用来存放一些原始类型的小数据,原始类型的数据有:Boolean、Null、Undefined、Number、BigInt、String、Symbol,栈空间具有空间小,但是读取速度快的特点堆空间:空间很大,但是速度相对堆空间较慢,主要存储引用型的数据,创......
  • WPF 自定义控件 二次渲染 问题记录
    问题将多个自定义控件加载到到一个页面的Grid上显示。然后突然将一个控件从Grid里面清除,控件依然在后台处理数据。过段时间再加入Grid。然后一些已经改变的页面属性就消失了。原因经过查找是一旦控件再次加载,页面属性就会重置。这个有利也有弊端。1是可以利用这点重置页面2......
  • Design各控件的搭配使用4
    在上一个版本基础上添加两个Activity:EffectsActivity&TabLayoutActivityEffectsActivity测试了一种效果;TabLayoutActivity中使用的控件:android.support.design.widget.TabLayoutandroid.support.v4.widget.NestedScrollViewandroid.support.design......
  • 手动搭建自己的nuget服务器及使用
    手动搭建自己的nuget服务器及使用 这篇文章的主要目的:1.搭建自己的私有的nuget服务器2.打包代码为nuget包3.在其他项目中使用私有服务器上的nuget包一.搭建自己的nuget服务器1.创建一个空的ASP.NETWeb应用程序2.使用nuget管理器,添加nuget.server包安装成功以后,目......
  • dev gridcontrol 列宽设置
    明明已经设置了取消列自动适应 gridView1.OptionsView.ColumnAutoWidth=false;//取消列自动适应 结果还是列多了该缩还是缩起来,显示不全.而且默认滚动条是打开的.这点感觉有点墨迹了.在此只是能显示滚动条.但该缩的还是缩,只是在列多的时候没有滚动条那种紧凑感减少了,......
  • 全面的VCL界面控件DevExpress VCL v22.2.5全新发布
    DevExpressVCL Controls是Devexpress公司旗下最老牌的用户界面套包,所包含的控件有:数据录入、图表、数据分析、导航、布局等。该控件能帮助您创建优异的用户体验,提供高影响力的业务解决方案,并利用您现有的VCL技能为未来构建下一代应用程序。DevExpressVCLv22.2.5正式版下载更......
  • Webpack中手动实现Loader与Plugin
    Loaderloader是一个转换器,用于对源代码进行转换。工作流程webpack.config.js里配置了一个模块的Loader;2.遇到相应模块文件时,触发了该模块的loader;3.loader接受了一个表示该模块文件内容的source;4.loader使用webapck提供的一系列api对source进行转换,......