【问题标题】:Custom MSCHART label自定义 MSCHART 标签
【发布时间】:2012-04-09 21:09:54
【问题描述】:

如何格式化 mschart 中的标签,使其包含数据库中的 X 值和其他值,如下所示:

12 公斤,200 磅,45 升

我们称它为 MeasureUnit 值,它与每个 X 值不同

请帮帮我

我试过了,但标签总是显示为 0

    Chart1.Series(0).Points.DataBind(Data, XValue, YValue, "Label=" & YValue & ControlChars.Lf & LabelUnit)

这里是答案:

  Chart1.Series(0).Points.DataBind(Data, XValue, YValue, "Unit=" & LabelUnit)
    Chart1.Series("Series1").XValueMember = XValue
    Chart1.Series("Series1").YValueMembers = YValue

   For Each pnt As DataPoint In Chart1.Series(0).Points
        pnt.Label = "#VAL" & ControlChars.Lf & pnt.GetCustomProperty("Unit")

    Next
    Chart1.Series("Series1").IsValueShownAsLabel = True
    Chart1.Series("Series1").ToolTip = "#VAL"

【问题讨论】:

    标签: label mschart


    【解决方案1】:

    您可以使用 AxisLabel 属性

    chart1.Series[i].Points[i].AxisLabel = yourValue; // here yourValue is the value returned by database
    

    或者,如果您的系列已有数据,您可以这样做

    foreach (DataPoint dp in s.Points)
    {
         dp.AxisLabel = dp.XValue + "yourUnit" ; // or write your own logic here
    }
    

    【讨论】:

    • 硬编码值不会有帮助,这些是数据库中的变量
    • 您可以从数据库中分配值。我以硬编码为例
    • 我尝试使用 x,y 值从数据库中传递一个值,但是当我将其分配给标签属性时,如上所示,标签文本始终显示为 0
    • 按照我上面的解释在数据绑定之后执行。它的 AxisLabel 属性
    • 该单元应该再次从数据库中加载 xValue 和 YValue,而不是对其进行硬编码,或者再次为每个点加载
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-07-13
    • 1970-01-01
    • 1970-01-01
    • 2021-12-28
    • 2011-10-15
    • 2012-07-07
    相关资源
    最近更新 更多