【问题标题】:Dynamically set the text for DevExpress Sunburst center label动态设置 DevExpress Sunburst 中心标签的文本
【发布时间】:2020-03-04 13:55:42
【问题描述】:

我有一个 DevExpress SunburstControl 显示文件夹及其字节大小,这些大小用作控件的值。因此,当 CenterLabel.TextPattern 设置为“Root: {TV}”时,中心的文本显示“Root: 162781888417”(意思是 152 GB)。

但是,我想根据大小以不同的方式显示这个大小......

  • 以字节为单位的根大小 => 显示的文本
  • 162781888417 => 152 GB
  • 8234489 => 7.85 MB
  • 1047552 => 1 023 kB
  • 40584 => 39.6 KB

我已经有字节和其他单位之间的代码转换,我想念的是一种告诉中心标签使用该转换代码的方法。

简而言之:如何让中心标签根据值显示不同的文本?

【问题讨论】:

    标签: c# devexpress-windows-ui


    【解决方案1】:

    要完成此任务,请将总值手动转换为适当的格式并将其分配给 CenterLabel.TextPattern 属性。在此示例中,BytesToString 函数将数字转换为一种预定义格式(请参阅How do I get a human-readable file size in bytes abbreviation using .NET?

        private void Form_Load(object sender, EventArgs e)
        {
            long val = 0;
            foreach (var item in sunburstControl1.DataAdapter.Items)
            {
                val += (long)item.Value;
            }
            sunburstControl1.CenterLabel.TextPattern = BytesToString(val);
        }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-30
      • 2013-12-16
      • 2020-08-26
      • 2020-10-03
      • 1970-01-01
      相关资源
      最近更新 更多