[WinForm][DevExpress]自定义GridControl中按钮文字内容

最近项目开发中,使用到了GridControl的FindPanel,这样可以很好的对数据进行筛选,可是所展现的按钮文字是英文,如图:

那怎么定义两个按钮问题,以符合项目需求了?经过一番搜索发现利用GridLocalizer可以很好实现:

核心代码:

   public class BuilderGridLocalizer : GridLocalizer
    {
        Dictionary<GridStringId, string> CusLocalizedKeyValue = null;
        /// <summary>
        /// 带参数的构造函数
        /// </summary>
        /// <param name="cusLocalizedKeyValue">需要转移的GridStringId,其对应的文字描述</param>
        public BuilderGridLocalizer(Dictionary<GridStringId, string> cusLocalizedKeyValue)
        {
            CusLocalizedKeyValue = cusLocalizedKeyValue;
        }
        /// <summary>
        /// 重载
        /// </summary>
        /// <param name="id">GridStringId</param>
        /// <returns>string</returns>
        public override string GetLocalizedString(GridStringId id)
        {
            if (CusLocalizedKeyValue != null)
            {
                string _gridStringDisplay = string.Empty;
                foreach (KeyValuePair<GridStringId, string> gridLocalizer in CusLocalizedKeyValue)
                {
                    if (gridLocalizer.Key.Equals(id))
                    {
                        _gridStringDisplay = gridLocalizer.Value;
                        break;
                    }
                }
                return _gridStringDisplay;
            }
            return base.GetLocalizedString(id);
        }

    }
定义一个类继承GridLocalizer,重写GetLocalizedString方法,逻辑很简单;为了以后能更简单重复利用代码,减少重复编码,所以在另外一个类中添加一个方法,如下:
        /// <summary>
        ///  自定义GridControl按钮文字
        /// </summary>
        /// <param name="girdview">GridView</param>
        /// <param name="cusLocalizedKeyValue">需要转移的GridStringId,其对应的文字描述</param>
        public static void CustomButtonText(this GridView girdview, Dictionary<GridStringId, string> cusLocalizedKeyValue)
        {
            BuilderGridLocalizer _bGridLocalizer = new BuilderGridLocalizer(cusLocalizedKeyValue);
            GridLocalizer.Active = _bGridLocalizer;
        }

这样子我们可以很简单使用,代码如下:

        private Dictionary<GridStringId, string> SetGridLocalizer()
        {
            Dictionary<GridStringId, string> _gridLocalizer = new Dictionary<GridStringId, string>();
            _gridLocalizer.Add(GridStringId.FindControlFindButton, "查找");
            _gridLocalizer.Add(GridStringId.FindControlClearButton, "清空");
            return _gridLocalizer;
        }
        private void Form1_Load(object sender, EventArgs e)
        {
            Dictionary<GridStringId, string> _gridLocalizer = SetGridLocalizer();
            gridView1.CustomButtonText(_gridLocalizer);
            gridControl1.DataSource = CreateTable(20);
            gridView1.ShowFindPanel();
        }

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }代码效果:

.csharpcode, .csharpcode pre
{
font-size: small;
color: black;
font-family: consolas, "Courier New", courier, monospace;
background-color: #ffffff;
/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt
{
background-color: #f4f4f4;
width: 100%;
margin: 0em;
}
.csharpcode .lnum { color: #606060; }

[WinForm][DevExpress]自定义GridControl中按钮文字内容,布布扣,bubuko.com

时间: 2024-10-18 13:37:37

[WinForm][DevExpress]自定义GridControl中按钮文字内容的相关文章

获取html字符串中第一张图片的路径以及获取html字符串中的文字内容(去掉标签)

/** * 获取html字符串中第一张图片的路径 * @param htmlcontent * @return */ public static String getImgFromHtml(String htmlcontent){ if(htmlcontent!=null){ String regEx_img = "<img.*src\\s*=\\s*(.*?)[^>]*?>"; Pattern p_image = Pattern.compile(regEx_img,

Input Text关键字——模拟向一个输入框中输入文字内容

Input Text关键字:模拟向一个输入框中输入文字内容. 该关键字接受2个参数 [ locator | text ]:locator参数指的是定位界面元素的方式,text参数指的是需要输入的内容. ==================================================================================== 示例:打开百度页面,输入“robot framework”,这里采用id的方式来定位界面输入框元素. Open Browser 

Unity3D加载dat文件中的文字内容

项目中遇到需要读取dat文件里文字内容的情况,姑且把我遇到的问题和解决方法总结一下- 之前加载xml的时候使用的是TextAsset,但是TextAsset不支持.dat文件T_T TextAsset支持的文件类型如下: .txt .html .htm .xml .bytes .json .csv .yaml .fnt 详细见官方说明: http://docs.unity3d.com/550/Documentation/Manual/class-TextAsset.html 在bing搜索了一下

as3.0 TextField中单行文字内容垂直居中

在开头,先首说一下TextField中单行文字空间是怎样的.图如下 从图中可以看到,当为文字设定像素大小时,我们都可以从TextField中的文字空间信息取得两个信息Ascent与Descent,文字空间与边距的2px一般是固定的.所以如果我们想在TextField中单行文字垂直居中的话,可以这样设定TextField的高度为Ascent+Descent+4px.具体在as3.0中的个人实现代码实例如下: package { import fl.controls.Label; import fl

如何在GridControl中显示图片列?控件DevExpress.XtraGrid.GridControl中显示图片列。

GridControl一列的ColumnEdit属性中选择PictureEdit,一个RepositoryItemPictureEdit添加完成.列的FieldName设置为Image列名,如img. GridControl绑定的数据,不管是DataTable.List或者其他源,添加一个列,列名为img. 以DataTable为例: Image xx=Image.FromFile("xxx"),yy=Image.FromFile("yyy"); dt.Column

实现TableLayout布局下循环取出TableRow控件中的文字内容到list集合

布局方式为TableLayout,利于实现表单样式展现. <!-- 详情内容区域 --> <ScrollView android:layout_above="@id/id_buttom_layout" android:layout_below="@id/home_title" android:layout_width="match_parent" android:layout_height="wrap_content&

C++ 与 php 的交互 之----- C++ 异步获取 网页文字内容,异步获取 php 的 echo 值。

转载请声明出处! http://www.cnblogs.com/linguanh/category/633252.html 距离上次 谈 C++ 制作json 或者其他数据传送给 服务器,时隔两个多月. 链接:http://www.cnblogs.com/linguanh/p/4340119.html 这次是从服务器上 中获取 文字内容到控制台,或者写入本地文本等操作,废话不多说,开讲. ------------------------------------------------------

C++ 与 php 的交互 之----- C++ 获取 网页文字内容,获取 php 的 echo 值。

转载请声明出处! http://www.cnblogs.com/linguanh/category/633252.html 距离上次 谈 C++ 制作json 或者其他数据传送给 服务器,时隔两个多月. 链接:http://www.cnblogs.com/linguanh/p/4340119.html 这次是从服务器上 中获取 文字内容到控制台,或者写入本地文本等操作,废话不多说,开讲. ------------------------------------------------------

怎么修改PDF文件的文字内容

怎么修改PDF文件中的文字内容呢?现在很多的PDF文件中的文字需要进行修改,但是找不到修改PDF文件的软件,想要修改PDF文件中的文字内容就可以使用PDF编辑器来进行操作,推荐使用迅捷PDF编辑器,下面小编就为大家操作一下修改PDF文件文字内容的操作方法. 使用软件:迅捷PDF编辑器 具体使用方法如下: 1:首先将迅捷PDF编辑器安装到自己的电脑中,打开PDF编辑器将PDF文件添加到软件中. 2:在软件中找到内容编辑工具,点击内容编辑工具,在下面选择框中双击就可以直接编辑PDF文件中的文字了.