DevExpress实现自定义GridControl中按钮文字内容的方法

在一些C#项目的开发中,有时候会使用到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();
}

代码运行效果如下图所示:

(0)

相关推荐

  • C#实现DevExpress本地化实例详解

    本文实例讲述了C#实现DevExpress本地化的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.Text; using DevExpress.XtraGrid.Localization; using DevExpress.XtraBars.Localization; using DevExpress.XtraCharts.Localization; using DevExp

  • DevExpress SplitContainerControl用法总结

    本文实例汇总了DevExpress SplitContainerControl的用法,希望对大家进行C#项目开发能起到一定的帮助作用.具体用法如下: 1.修改成纵向分割: Horizontal = false; 2.设置伸缩箭头: 3.固定某个PANEL大小: 最大化后依然保持着比例: 4.隐藏某个PANEL: splitContainerControl1. PanelVisibility = SplitPanelVisibility.Panel2;

  • DevExpress之SplashScreen用法实例

    本文实例展示了DevExpress中SplashScreen的用法,对于C#初学者来说有一定的参考借鉴价值,具体用法如下: 关键代码部分如下: using DevExpress.XtraSplashScreen; using System; namespace DevExpressUtilHelpV3 { /// <summary> /// 基于.NET 3.0的 SplashScreen工具类 /// </summary> public static class SplashSc

  • DevExpress之饼状图突出(Explode)设置实例

    本文实例讲述了DevExpress之饼状图突出(Explode)设置方法,分享给大家供大家参考.具体实现方法如下: 关键代码如下: 复制代码 代码如下: /// <summary> /// 饼状图突出设置 /// </summary> /// <param name="chart">ChartControl</param> /// <param name="pieSeries">Series[仅仅适用于Pi

  • DevExpress之ChartControl实现时间轴实例

    本文实例讲述了DevExpress采用ChartControl实现时间轴的方法,分享给大家供大家参考.具体实现方法如下: 关键代码如下: 复制代码 代码如下: using System; using System.Data; using System.Windows.Forms; using DevExpress.XtraCharts; namespace DevExpressChart {     public partial class winDateTime : Form     {   

  • DevExpress之ChartControl用法实例总结

    DevExpress中的ChartControl顾名思义就是数据基于图表展示,其关键在于Series上的处理.本文实例展示了ChartControl的用法,具体内容如下: 主要功能代码部分如下: using System; using System.Drawing; using DevExpress.XtraCharts; namespace DevExpressUtilHelpV3 { public static class ChartToolV3 { /// <summary> /// 创

  • DevExpress之TreeList用法实例总结

    本文实例总结了DevExpress之TreeList用法,希望对大家学习C#程序设计起到一定的帮助作用.具体实例如下: using System; using System.Collections.Generic; using System.Drawing; using System.Windows.Forms; using DevExpress.XtraBars; using DevExpress.XtraTreeList; using DevExpress.XtraTreeList.Node

  • DevExpress设置饼状图的Lable位置实例

    本文实例讲述了DevExpress设置饼状图的Lable位置的方法.分享给大家供大家参考.具体实现方法如下: 关键代码如下: 复制代码 代码如下: /// <summary> /// 设置饼状图的Lable位置 /// </summary> /// <param name="series">Series</param> /// <param name="lablePosition">PieSeriesLab

  • DevExpress实现自定义GridControl中按钮文字内容的方法

    在一些C#项目的开发中,有时候会使用到GridControl的FindPanel,这样可以很好的对数据进行筛选,可是所展现的按钮文字是英文,如下图所示: 那怎么定义两个按钮问题,以符合项目需求了?本文讲述利用GridLocalizer来实现这一要求的方法.具体步骤如下: 主要功能代码如下: public class BuilderGridLocalizer : GridLocalizer { Dictionary<GridStringId, string> CusLocalizedKeyVal

  • Bootstrap模态对话框中显示动态内容的方法

    首先引入bootstrap的js和css,在引入对应版本的jquery: 添加按钮,点击弹出模态窗体: <button class="btn btn-primary btn-lg" data-toggle="modal" data-target="#modal" href="/Home/Test" rel="external nofollow" ></button> 创建模态对话框:

  • 基于自定义BufferedReader中的read和readLine方法

    实例如下所示: package day0208; import java.io.FileReader; import java.io.IOException; /* * 自定义读取缓冲区,实现BufferedReader功能 * 分析: * 缓冲区就是封装了一个数组,并对外提供了更多的方法对数组进行访问 * 其实这些方法最终操作的都是数组的角标 * 缓冲的原理: * 其实就是从源中获取一批数据装进缓冲区,再从缓冲区取出数据 * 当此次取完后,继续从源中取出一批数据到缓冲区 * 当源中的数据取光时

  • C#设置Word文本框中改变文字方向的方法

    在Word中可插入文本框,默认情况下插入的文本框中的文字方向为横向排列,对于一些特殊文档的设计要求,需要改变文字方向,如本次测试中的文档排版为考生试卷类型,考生信息栏的内容为下图中的这种, 本文将以C#程序代码为例,展示如何来实现这种排版.另附VB.NET代码供参考. 测试程序环境如下: Visual Studio 2017 .net framework 4.8 Free spire.doc.dll 7.11 测试word文档:.docx2013 关于dll安装:在程序中通过nuget搜索Fre

  • Python输出PowerPoint(ppt)文件中全部文字信息的方法

    本文实例讲述了Python输出PowerPoint(ppt)文件中全部文字信息的方法.分享给大家供大家参考.具体分析如下: 下面的代码依赖于windows com,所以必须在机器上安装PowerPoint才能用,可以将PPT文件中的所有纯文本信息进行输出到指定的文件,非常实用. import win32com from win32com.client import Dispatch, constants ppt = win32com.client.Dispatch('PowerPoint.App

  • IOS中自定义类中限制使用原生实例化方法

    IOS中自定义类中限制使用原生实例化方法 在自定义的类中,除了有系统自带的实例化方法外,还可能会有开发者自定义的实例化方法.当不想使用系统自定义方法时,而仅使用自定义的实例化方法时,可以这样做下限制. 如下示例所示: #import <UIKit/UIKit.h> @interface MYView : UIView // 限制使用系统方法进行实例化 // 方法1 - (instancetype)init UNAVAILABLE_ATTRIBUTE; // 方法2 - (instancetyp

  • JavaScript实现点击单选按钮改变输入框中文本域内容的方法

    本文实例讲述了JavaScript实现点击单选按钮改变输入框中文本域内容的方法.分享给大家供大家参考.具体如下: 这里实现点击单选按钮改变输入框中文本域内容的方法,是一个JavaScript 的简单应用,可以减少用户的输入,提升用户操作易用性,它类似一个TAB选项卡一样的功能,并可以完成后提交表单,值得学习. 运行效果截图如下: 具体代码如下: <html> <head> <title>JavaScript点击单选框改变输入框内容</title> </

  • C#实现在图像中绘制文字图形的方法

    本文实例讲述了C#实现在图像中绘制文字图形的方法.分享给大家供大家参考.具体实现方法如下: using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.Drawing.Drawing2D; using S

  • C#编程实现Excel文档中搜索文本内容的方法及思路

    打开Excel的VBA帮助,查看Excel的对象模型,很容易找到完成这个功能需要的几个集合和对象:Application.Workbooks.Workbook.Worksheets还有Worksheet和Range.Application创建Excel应用,Workbooks打开Excel文档,Workbook获得Excel文档工作薄,Worksheets操作工作表集合,Worksheet获得单个工作表. 搜索的思路对应上述集合和对象,可以这样表述:要搜索的文本可能存在Excel文档当中的某个工

  • 在WordPress的文章编辑器中设置默认内容的方法

    很多时候我们需要在给 WordPress 文章编辑器设置默认内容,比如把常用的开头或者文章注意事项放进去,本文就教你给 WordPress 编辑器设置默认内容. /** *WordPress 给文章编辑器设置默认内容 *http://www.endskin.com/default-content-title/ */ function Bing_default_content(){ return '要设置的默认内容'; } add_filter( 'default_content', 'Bing_

随机推荐