最近在搞.NET web 程序报表时,发现ReportViewer 工具栏为英文。经过查找资料研究,提供一下解决方案。
第一步:在项目中创建一个目录(文件夹),名为:App_Code,
第二步:创建一个CS控制器,名称为:ReportViewerLanguageZh.继承自IReportViewerMessages。其实业务逻辑比较简单,就是实现托管配置。
public class ReportViewerLanguageZh : IReportViewerMessages
引用文件就不列举了,根据VS提示,添加引用类。
第三步:复制以下内容到此控制器中:
public class ReportViewerLanguageZh : IReportViewerMessages
{
#region IReportViewerMessages Members
/// <summary>
///
/// </summary>
public string BackButtonToolTip
{
get { return ("后退"); }
}
/// <summary>
///
/// </summary>
public string ChangeCredentialsText
{
get { return ("更改"); }
}
/// <summary>
///
/// </summary>
public string ChangeCredentialsToolTip
{
get { return ("更改凭据"); }
}
/// <summary>
///
/// </summary>
public string CurrentPageTextBoxToolTip
{
get { return ("当前页"); }
}
/// <summary>
///
/// </summary>
public string DocumentMap
{
get { return ("文档视图"); }
}
/// <summary>
///
/// </summary>
public string DocumentMapButtonToolTip
{
get { return ("文档视图. "); }
}
/// <summary>
///
/// </summary>
public string ExportButtonText
{
get { return ("导出"); }
}
/// <summary>
///
/// </summary>
public string ExportButtonToolTip
{
get { return ("导出"); }
}
/// <summary>
///
/// </summary>
public string ExportFormatsToolTip
{
get { return ("选择格式."); }
}
/// <summary>
///
/// </summary>
public string FalseValueText
{
get { return ("不正确的值."); }
}
/// <summary>
///
/// </summary>
public string FindButtonText
{
get { return ("查找"); }
}
/// <summary>
///
/// </summary>
public string FindButtonToolTip
{
get { return ("查找"); }
}
/// <summary>
///
/// </summary>
public string FindNextButtonText
{
get { return ("下一个"); }
}
/// <summary>
///
/// </summary>
public string FindNextButtonToolTip
{
get { return ("查找下一个"); }
}
/// <summary>
///
/// </summary>
public string FirstPageButtonToolTip
{
get { return ("第一页"); }
}
/// <summary>
///
/// </summary>
public string InvalidPageNumber
{
get { return ("页面数不对"); }
}
/// <summary>
///
/// </summary>
public string LastPageButtonToolTip
{
get { return ("最后一页"); }
}
/// <summary>
///
/// </summary>
public string NextPageButtonToolTip
{
get { return ("下一页"); }
}
/// <summary>
///
/// </summary>
public string NoMoreMatches
{
get { return ("无匹配项"); }
}
/// <summary>
///
/// </summary>
public string NullCheckBoxText
{
get { return ("空值"); }
}
/// <summary>
///
/// </summary>
public string NullValueText
{
get { return ("空值"); }
}
/// <summary>
///
/// </summary>
public string PageOf
{
get { return ("页"); }
}
/// <summary>
///
/// </summary>
public string ParameterAreaButtonToolTip
{
get { return ("参数设置"); }
}
/// <summary>
///
/// </summary>
public string PasswordPrompt
{
get { return ("PasswordPrompt"); }
}
/// <summary>
///
/// </summary>
public string PreviousPageButtonToolTip
{
get { return ("上一页"); }
}
/// <summary>
///
/// </summary>
public string PrintButtonToolTip
{
get { return ("打印"); }
}
/// <summary>
///
/// </summary>
public string ProgressText
{
get { return ("正在生成报表......"); }
}
/// <summary>
///
/// </summary>
public string RefreshButtonToolTip
{
get { return ("刷新"); }
}
/// <summary>
///
/// </summary>
public string SearchTextBoxToolTip
{
get { return ("查找"); }
}
/// <summary>
///
/// </summary>
public string SelectAValue
{
get { return ("请选择"); }
}
/// <summary>
///
/// </summary>
public string SelectAll
{
get { return ("全选"); }
}
/// <summary>
///
/// </summary>
public string SelectFormat
{
get { return ("选择格式"); }
}
/// <summary>
///
/// </summary>
public string TextNotFound
{
get { return ("未找到"); }
}
/// <summary>
///
/// </summary>
public string TodayIs
{
get { return ("今天是"); }
}
/// <summary>
///
/// </summary>
public string TrueValueText
{
get { return ("TrueValueText"); }
}
/// <summary>
///
/// </summary>
public string UserNamePrompt
{
get { return ("UserNamePrompt"); }
}
/// <summary>
///
/// </summary>
public string ViewReportButtonText
{
get { return ("查看报表"); }
}
/// <summary>
///
/// </summary>
public string ZoomControlToolTip
{
get { return ("缩放"); }
}
/// <summary>
///
/// </summary>
public string ZoomToPageWidth
{
get { return ("页宽"); }
}
/// <summary>
///
/// </summary>
public string ZoomToWholePage
{
get { return ("整页"); }
}
#endregion
}
第三步:找到项目的配置文件Web.config,找到appSettings节点,
向此节点增加以下key属性
<add key= "ReportViewerMessages" value= "XXXX.App_Code.ReportViewerLanguageZh,App_Code" />
将XXXX替换为你的ReportViewerLanguageZh控制中的命名空间namespace前缀,即App_Code之前的部分.
OK,搞定,运行跑起来看看。如下图: