【问题标题】:How to display Hindi Characters in rdlc report viewer in winform c#如何在winform c#的rdlc报告查看器中显示印地语字符
【发布时间】:2020-11-02 12:58:09
【问题描述】:

请为我提供此问题的解决方案。

我已经用印地语在 sql 中保存了记录,但是当我在 rdlc 报告查看器中显示时,它显示为一个框。

  1. SQL 数据库 - 我已经用印地语保存了记录。

  1. 服务代码

     public class PaperRptModel
     {
         public string Subject { get; set; }
         public string Course { get; set; }
         public string Time { get; set; }
         public int MaxMarks { get; set; }
         public int PassMarks { get; set; }
    
         readonly PaperGenEntities paperGenEntities = new PaperGenEntities();
    
         public IList GetSingle(int Id)
         {
             List<PaperRptModel> paperRpts = new List<PaperRptModel>();
             PaperRptModel model = new PaperRptModel();
             var paper = paperGenEntities.Papers.FirstOrDefault(o => o.Id == Id);
             var subject = paperGenEntities.Subjects.FirstOrDefault(o => o.Id == paper.Subject);
             model.Course = $"{subject.EnglishCourse} ({subject.HindiCourse})";
             model.Subject = $"{subject.EnglishName} ({subject.HindiName})"; ;
             model.Time = paper.MaxTime;
             model.MaxMarks = paper.TotalMarks ?? 0;
             model.PassMarks = paper.PassMarks ?? 0;
             paperRpts.Add(model);
             return paperRpts;
         }
    
         public IList GetQuestions(int Id)
         {
             List<Question> questions = new List<Question>();
             Question model = new Question();
             var question = paperGenEntities.Questions.FirstOrDefault(o => o.Subject == Id);
             model.EnglishName = question.EnglishName;
             model.HindiName = question.HindiName;
             model.DisplayMarks = question.DisplayMarks;
             questions.Add(model);
             return questions;
         }
    
  2. 窗体代码

     public partial class Form2 : Form
     {
         public Form2()
         {
             InitializeComponent();
         }
    
         private void Form2_Load(object sender, EventArgs e)
         {
             this.reportViewer1.LocalReport.DataSources.Clear();
             var rptModel = new PaperRptModel();
             var Model = rptModel.GetSingle(1);
             var rds1 = new ReportDataSource("DataSet1", Model);
             this.reportViewer1.LocalReport.DataSources.Add(rds1);
    
             var question = new Question();
             var questions = rptModel.GetQuestions(1);
             var rds2 = new ReportDataSource("DataSet2", questions);
             this.reportViewer1.LocalReport.DataSources.Add(rds2);
             this.reportViewer1.RefreshReport();
         }
     }
    
  3. 结果为方框

【问题讨论】:

  • 您是否在客户端计算机中安装了印地语?
  • 我已经在系统中安装了 kruti dev 字体。当我在 word doc 中导出时,我得到的是印地语字体,但在报告查看器和 pdf 导出中得到块。

标签: c# sql-server winforms entity-framework rdlc


【解决方案1】:

如果您在 Windows 客户端中运行它

检查你是否安装了印地语

(Windows 10)

【讨论】:

  • 我猜这个选项适用于 Windows 操作系统语言,而不适用于任何特定的基于应用程序的语言,但让我也试试这个。谢谢
  • 这是有效的。谢谢,现在我可以在报告查看器和 Pdf 中看到印地语单词了。
猜你喜欢
  • 1970-01-01
  • 2014-03-14
  • 2017-03-28
  • 1970-01-01
  • 2020-12-06
  • 2013-09-12
  • 1970-01-01
  • 2013-07-17
  • 1970-01-01
相关资源
最近更新 更多